Для многих одновременно "Get" запрос приводит к ошибке 500 - PullRequest
1 голос
/ 28 апреля 2019

я использую apache2 и nginx в качестве прокси с сайтом WordPress.У меня есть плагин, где пользователь получает свой собственный URL и может загрузить файл.

проблема:

иногда 80+ пользователей одновременно запрашивают URL-адреса, и это приводит к ошибке 500.Кажется, он работает, когда его запрос 30-40 одновременно приводит к коду 200.

пример файла журнала с ошибкой:

IP - - [28/Apr/2019:01:00:31 +0200] "GET /test/test.zip HTTP/1.0" 500 512 "-" "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:9.0) Gecko/20100101 Firefox/9.0"

У меня 8 ГБ VPS иустановить предел памяти php.ini равным 1024, а также попытаться увеличить ограничение времени ожидания в конфигурации apache2.какие настройки я пропустил?

это конфиг для apache2

<IfModule mpm_prefork_module>
StartServers          8
MinSpareServers       5
MaxSpareServers      20
ServerLimit         400
MaxClients          400
MaxRequestsPerChild 4000

Timeout 60
KeepAlive Off
MaxKeepAliveRequests 100
KeepAliveTimeout 10
ServerSignature Off
ServerTokens Prod

1 Ответ

1 голос
/ 28 апреля 2019

@ Магнус прав.Без лог-файла для трассировки это, скорее всего, будет диким предположением.

Я понимаю, что может быть полезным.Как указано, вы используете Nginx в качестве прокси для Apache.Следовательно, вместо того, чтобы заглядывать в Apache, возможно, вам стоит заняться Nginx.Вы сможете найти параметр прокси Nginx в:

/etc/nginx/proxy_params

И внутри файла вы найдете некоторые стандартные параметры прокси, такие как:

client_max_body_size 100M; client_body_buffer_size 1m; proxy_intercept_errors on; proxy_buffering on; proxy_buffer_size 128k; proxy_buffers 256 16k; proxy_busy_buffers_size 256k; proxy_temp_file_write_size 256k; proxy_max_temp_file_size 0; proxy_read_timeout 300;

Попробуйте увеличить пределы в пределахнастройки.Вы сможете узнать, что каждый из них означает из документации Nginx .

Надеюсь, это поможет!

* Не забудьте перезагрузить / перезапустить службу.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...