簡體   English   中英

多個同時“獲取”請求導致 500 錯誤

[英]To many simultaneously "Get" request results in 500 error

我使用 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"

我有一個 8GB 的​​ 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

@Magnus 是對的。 沒有要跟蹤的日志文件,這很可能是一個瘋狂的猜測。

我確實意識到一些可能會有所幫助的東西。 如前所述,您正在運行 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 文檔本身中找到它們各自的含義。

希望能幫助到你 !

*記得重新加載/重啟服務。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM