0
我改變一個巨大的數據庫表,磁盤利用率提高達90%-100%。爲什麼頁面生成速度快,但由NGINX + PHP-FPM慢服?
靜態內容被快速送達像往常一樣由NGINX,但PHP頁面加載10-20秒,而不是通常的0.2秒。
我
echo 'Generated in ' . microtime(true) - $start . ' sec.';
在每一頁的末尾,則說明該頁面是在0.1秒內產生的,而它的加載了10+秒:
Request sent 0.22 ms
Waiting (TTFB) 12.84 s
Content Download 59.33 ms
平均頁面大小爲30-40 kb和NGINX緩衝區是:
fastcgi_buffers 32 32k;
fastcgi_buffer_size 64k;
因此,NGINX不應該使用磁盤來爲頁面提供服務。
爲什麼會這樣呢?是否有一些NGINX或PHP-FPM設置強制它們使用磁盤而不是將數據保存在內存中?
你正在運行改變數據庫在同一臺服務器上,是嗎? 此緩衝區用於保持http響應其是* *標頭的第一部分。檢查此: https://gist.github.com/magnetikonline/11312172#determine-fastcgi-response-sizes –
是的。據我瞭解,fastcgi_buffer_size用於頭文件,fastcgi_buffers用於響應的其餘部分。不是嗎? – eugene99
@ eguene99我認爲你對這種緩存響應類型感到困惑。 –