Время жизни скрипта php

12
M4
На сайте с 19.10.2006
Offline
73
3579

Помогите пожалуйста разобраться

У меня стоит связка апач+нгинкс

У нгинкса настроен тайм аут 30 секунд и если скрипт за это время не успевает отработать получаем

504 Gateway Time-out, что в принципе и нужно, но апач продолжает выполнять скрипт и грузит сервер. Я настроил server-status, и вижу такую вот картину (к примеру 651 секунда) в логах ... и так висеть может пока не отработает

651 GET /мойтяжелыйскрипт HTTP/1.0 мойип

Я хочу, чтобы скрипт прерывался через 30 секунд и не терроризировал сервер бесполезной работой. Подскажите где копать .. в настройках апача или пхп или нгинкса

тайм лимиты проставил везде вроде ... в иптейблс закрывать не хочется ..

Angel OSHQ.cc
На сайте с 23.07.2007
Offline
225
#1

так кто мешает апачу таймаут сделать ?

#

# Timeout: The number of seconds before receives and sends time out.

#

Timeout 120

httpd.conf

и перезапуск апача

Безлимитный хостинг ( https://oshq.cc/unlimhost.html ) в NL от 0.5$. Аренда серверов во Франции ( https://oshq.cc/serverf.html ) от (15 евро)
Andreyka
На сайте с 19.02.2005
Offline
822
#2

Время жизни в php.ini можно подкрутить

Не стоит плодить сущности без необходимости
V
На сайте с 25.07.2006
Offline
128
#3

Angelys прав, нужно просто задать Timeout в конфиге апача, но в данном случае не 120, а 30 или меньше.

Andreyka:
Время жизни в php.ini можно подкрутить

в php.ini можно задать max_execution_time, но есть два НО

1. это не время с момента запуска скрипта, а чистое время, которое процессор потратил на его выполнение. Если скрипт ждет ввода/вывода, то время не учитывается. Таким образом это время может растянуться на многие минуты.

2. этот параметр можно задать где угодно, в том числе в самом скритпе через set_time_limit() или ini_set(). То есть то, что задано в php.ini можно легко переопределить.

Приватный linux-администратор
Andreyka
На сайте с 19.02.2005
Offline
822
#4

В php.ini можно задавать и время ввода-вывода :)

Angel OSHQ.cc
На сайте с 23.07.2007
Offline
225
#5

ну вы еще подеритесь ) vapetrov, я по дефолту привел пример +))

M4
На сайте с 19.10.2006
Offline
73
#6
Andreyka:
В php.ini можно задавать и время ввода-вывода :)

Подскажите пожалуйста как ... все остальное выше сказанное пробовалось, к сожалению не помогает. К примеру Тайм лимит апачевский был и 3 секунды и 30 и 60))) тестировал как говориться на живую, менял, перезапускал, смотрел что получается. Облазил все конфиги в пхп, нгинксе и апаче ... перегуглил всю эту тему ... сервер то работает, все как бы нормально .. просто уже на принцип пошел .. буду мучать серв дальше))

Angel OSHQ.cc
На сайте с 23.07.2007
Offline
225
#7

modest48, читайте ответ #4 vapetrov вам объяснил как.

M4
На сайте с 19.10.2006
Offline
73
#8
Angelys:
modest48, читайте ответ #4 vapetrov вам объяснил как.

это все пробовалось .. в пхп ини в глобальном и для пользователя

max_execution_time = 30

в самом скрипте также пробовал все менять

и выключал

set_time_limit(0);

и так

set_time_limit(3);

и даже так

set_time_limit(30);

и без сеттаймлимита пробовал пускать ... говорю же не хочет работать .. сюда бы не писал по пустякам ...

Andreyka
На сайте с 19.02.2005
Offline
822
#9

А timeout в конфиге апача стоит 30 сек?

M4
На сайте с 19.10.2006
Offline
73
#10
Andreyka:
А timeout в конфиге апача стоит 30 сек?

Timeout 30

KeepAlive Off

MaxKeepAliveRequests 10

KeepAliveTimeout 10

<IfModule prefork.c>

StartServers 2

MinSpareServers 1

MaxSpareServers 5

ServerLimit 300

MaxClients 300

MaxRequestsPerChild 4000

</IfModule>

<IfModule worker.c>

StartServers 2

MaxClients 300

MinSpareThreads 25

MaxSpareThreads 75

ThreadsPerChild 25

MaxRequestsPerChild 0

</IfModule>

<IfModule mod_evasive20.c>

DOSHashTableSize 3097

DOSPageCount 2

DOSSiteCount 10

DOSPageInterval 1

DOSSiteInterval 1

DOSBlockingPeriod 300

DOSEmailNotify моемыло

</IfModule>

Может тут что не так .. ну вроде по смыслу подбирал параметры, к советам так сказать прислушивался. мод евайзив ставил сам + еще рпаф установил

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий