Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
PHP + Oracle. При каждой перезагрузке страницы с select'ом создаётся новая сессия Oracle
|
|||
|---|---|---|---|
|
#18+
Имеются два сервера: тестовый и рабочий. На тестовом Windows, на рабочем Linux. На каждом из них установлены Apache, PHP и Oracle. На каждом находятся идентичные веб-страницы. На веб-странице есть форма куда вводится номер и после нажатия кнопки Submit идёт поиск данных по этому номеру. При повторном поиске на тестовом сервере используется та же сессия, что и до этого, а на рабочем появляется новая сессия, а старая остаётся неактивной. Таким образом может накопиться довольно много неактивных сессий, что замедляет работу. Подскажите, где искать причину этого. session.use_cookies на обоих серверах равно 1. Для подключения к Oracle вызывается OCIPlogon при каждой загрузке страницы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.04.2015, 13:19 |
|
||
|
PHP + Oracle. При каждой перезагрузке страницы с select'ом создаётся новая сессия Oracle
|
|||
|---|---|---|---|
|
#18+
Зависит от того, как у вас настроена связка PHP и Apache Чтобы поддерживать persistent коннекты, PHP обязательно должен использоваться как модуль Апача. Если у вас на рабочем PHP подключен как mod_cgi (что в подавлющем большинстве случаев встречается на виртуальных хостингах, для разделения поав доступа скриптов к файловой системе), то PHP тупо архитектурно будет не в состоянии сохранять между вызовами любые полученные ресурсы (в том числе коннекты к БД), т.к. в CGI режиме процесс PHP убивается после окончания работы скрипта. А локально на тестовой у вас вполне может стоять какой-то Денвер, в котором PHP подключен как модуль Апача и вполне себе держит persistent коннекты к БД. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.04.2015, 13:32 |
|
||
|
PHP + Oracle. При каждой перезагрузке страницы с select'ом создаётся новая сессия Oracle
|
|||
|---|---|---|---|
|
#18+
авторЧтобы поддерживать persistent коннекты, PHP обязательно должен использоваться как модуль Апача. пруф? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.04.2015, 14:18 |
|
||
|
PHP + Oracle. При каждой перезагрузке страницы с select'ом создаётся новая сессия Oracle
|
|||
|---|---|---|---|
|
#18+
ScareCrowпруф? http://php.net/manual/en/features.persistent-connections.php This has to do with the way web servers work. There are three ways in which your web server can utilize PHP to generate web pages. Третий способ - совсем экстравагантный, на практике не встречал ни разу. Остаются первые два. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.04.2015, 16:01 |
|
||
|
PHP + Oracle. При каждой перезагрузке страницы с select'ом создаётся новая сессия Oracle
|
|||
|---|---|---|---|
|
#18+
это уже давно неактуально. с 5.3 помоему PHP-FPM встроен в сам PHP и все пользуются им. постоянные соединения там есть. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.04.2015, 16:11 |
|
||
|
PHP + Oracle. При каждой перезагрузке страницы с select'ом создаётся новая сессия Oracle
|
|||
|---|---|---|---|
|
#18+
ScareCrowэто уже давно неактуально. с 5.3 помоему PHP-FPM встроен в сам PHP и все пользуются им. постоянные соединения там есть. Ну, за всех тоже не стоит говорить. Из того, что вы используете его в своих проектах, никак не следует, что его используют все. Некоторые хостеры, особенно предоставляющие услуги бесплатного хостинга, "из коробки" поставляют устаревшую конфигурацию на своих VPS. Многие и в продакшене до сих пор на 5.2 сидят из-за отсутствия бабла на переход на новые версии. Но, собственно, я возможную проблему обозначил топикстартеру. Дальше уже поди разберётся в какую сторону копать и какие настройки посомтреть. Еще там какой-то параметр в php.ini есть про число коннектов, может еще туда стоит заглянуть на тестовом инстансе и на рабочем. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.04.2015, 16:47 |
|
||
|
PHP + Oracle. При каждой перезагрузке страницы с select'ом создаётся новая сессия Oracle
|
|||
|---|---|---|---|
|
#18+
если пхп запущен так, чтоб иметь возможность сохранять ресурсы между запусками...то речь идёт о числе воркеров. на винде, воркер один!!! поэтому повторный заход на страницу гарантировано попадание на тот же воркер, и у него уже есть подключение к оракл. на продакшине же, не виндоуст, и там есть настройка число воркеров...допустим 20. это значит что при старте стартует 20 нитей пхп, и каждая оперирует своим сохранённым подключением к базе. поэтому в теории, можно и 20 раз подключиться, и постоянно будут идти новые подключения. (если случай этот, то в самой базе если посмотреть на текущие подключения - их число будет расти) также я сталкивался с тем что эти подключения могут подвисать...тоесть вместо того что б использовать прежнее, всеравно создаёться новое. гуглить - похоже не имееться способ это разруливать... --- также повторное использование подключения - это перед повторным использованием отправляеться команда на сервер сброс текущего пользователя...тоесть по сути используеться только существующее тсп-соединение. а сама сесия базы как бы перегружаеться - заново считываються настройки юзера, права и прочее. вот сама команда может быть не доступна... причин масса. но по моему опыту и опыту гугления... либо случайно найдёшь причину, либо нет... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.04.2015, 16:18 |
|
||
|
|

start [/forum/topic.php?fid=23&msg=38943588&tid=1461818]: |
0ms |
get settings: |
8ms |
get forum list: |
10ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
70ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
31ms |
get tp. blocked users: |
1ms |
| others: | 257ms |
| total: | 393ms |

| 0 / 0 |
