|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
11.10.2010, 02:54 | #1 |
Регистрация: 07.02.2010
Сообщений: 6
|
session_start()
На сайте, который еле пашет, в index.php есть строки
session_start(); session_name('cp'); Отладка показывает, что выполнение команды session_start(); занимает 200мс ( 80% времени ). Подскажите, почему столько времени? Куда можно копнуть? Спасибо! |
11.10.2010, 04:03 | #2 |
Antimoderаtoris
Участник клуба
Регистрация: 08.02.2008
Сообщений: 1,251
|
Данная проблема может возникнуть из-за большого количества разных причин. Основной причиной принято считать очень большую задержку блокировки файла сессии.
Чтобы определить именно вашу причину - нужно хорошо знать как и для чего используется сессия у вас. Какие данные в ней хранятся, какой объем, какое количество раз эти данные изменяются во время обработки скрипта, какова длительность работы всего скрипта (ну это мы уже знаем). Главные рекомендации в таких случаях - хранить в сессии лишь идентификатор пользователя (короткий id), с помощью которого доставать всю необходимую информацию из БД или из файлов (перегрузка системы сессий). Открывать сессию нужно лишь на самый кратчайший промежуток времени, только чтобы получить одну-две коротких переменных, после чего сессию сразу закрывать, это профилактика при большой нагрузке сайта (50+ пользователей одномоментно). В самых запущенных случаях рекомендуется полностью самостоятельно перегружать сессию (см. session_set_save_handler) З.Ы. И, да. Забыл упомянуть, что сессии часто работают ОЧЕНЬ медленно, если на сервере стоит разметка NTFS. Но, я думаю, это излишне даже упоминать. В наше время никто не ставит рабочие php сервера на Windows. Так что, это просто для информации.
98% из тысячи моих постов сделаны в профильном подфоруме. Я не накручиваю свои посты болтанием в "курилке", а ты?
|
11.10.2010, 09:29 | #3 | |
Старожил
Регистрация: 09.09.2008
Сообщений: 2,624
|
Цитата:
Стандартный механизм сессий спроектирован так чтобы обеспечить надёжное хранение данных одного клиента в одном файле, механизма совместного доступа нет и быть не должно.
Стрелок-охотник
Последний раз редактировалось mv28jam; 11.10.2010 в 09:52. |
|
11.10.2010, 16:43 | #4 | |
Регистрация: 07.02.2010
Сообщений: 6
|
Цитата:
|
|
11.10.2010, 20:32 | #5 | ||||
Старожил
Регистрация: 19.04.2010
Сообщений: 2,702
|
Цитата:
Цитата:
Цитата:
Причины могут быть следующие: - большой объём данных в сессии (>65 Кб), - проблемы с доступом к папке tmp, - слишком много сессии или много файлов в tmp. Цитата:
|
||||
12.10.2010, 00:51 | #6 | |
Antimoderаtoris
Участник клуба
Регистрация: 08.02.2008
Сообщений: 1,251
|
Цитата:
Рекомендую хотя бы погуглить на тему, прежде чем объявлять бредом то, о чём, судя по ответу, понятия не имеете.
98% из тысячи моих постов сделаны в профильном подфоруме. Я не накручиваю свои посты болтанием в "курилке", а ты?
|
|
12.10.2010, 19:00 | #7 | ||
Регистрация: 07.02.2010
Сообщений: 6
|
Цитата:
Цитата:
На папку tmp стоят права 750 и она пустая |
||
12.10.2010, 22:14 | #8 | ||
Старожил
Регистрация: 19.04.2010
Сообщений: 2,702
|
Цитата:
|
||
14.10.2010, 11:55 | #9 |
Регистрация: 07.02.2010
Сообщений: 6
|
Блин, пофлудили, в итоге 0
|
14.10.2010, 12:17 | #10 |
Antimoderаtoris
Участник клуба
Регистрация: 08.02.2008
Сообщений: 1,251
|
Читайте мой первый пост в этой теме и думайте.
98% из тысячи моих постов сделаны в профильном подфоруме. Я не накручиваю свои посты болтанием в "курилке", а ты?
|