如何知道自己網頁伺服器(Apache)的能耐

最近管理的VPS Apache伺服器的流量爆掉,惡補了一下Apache的資訊

如何知道Apache在系統中佔用的多少資源?以及評估網站有辦法容納多少在線人數?
使用指令
ps -ylC apache2 | awk '{x += $8;y += 1} END {print "Apache Memory Usage (MB): "x/1024; print "Average Proccess Size (MB): "x/((y-1)*1024)}'

出現的內容(剛好手邊有兩台設備,所以都跑一下)
Apache Memory Usage (MB): 44.582
Average Proccess Size (MB): 7.43034

Apache Memory Usage (MB): 192.797
Average Proccess Size (MB): 17.527

上列的數據是restart前,底下是restart後
Apache Memory Usage (MB): 797.867
Average Proccess Size (MB): 72.5334

Apache Memory Usage (MB): 436.434
Average Proccess Size (MB): 36.3695

似乎定期的執行Apache restart有其必要嗎??

在線人數的部份,我是這要評估,不曉得對不對?
如果以 Average Proccess Size (MB): 17.527 來計算,假設我的設備有1G的記憶體
1024M / 17.5M = 58
得到到資訊即為這台設備如果有58人同時在線,就有機會超過記憶體,導致伺服器應付不了

有興趣的人的可以看這篇文章
http://cloudinservice.com/tune-apache-performance-using-mpm-prefork-module/

個人的經驗,其實算有準

昨天我的網頁伺服器因為同事分享PTT資訊後,讓網站同時的在線數達到50個人左右,然後網站就GG了

我的VPS方案
RAM 1GB / CPU 2core / SSD 50GB

我測得的 Average Proccess Size (MB)約20左右
1024 / 20 得到的數據是50左右

除了Apache,還得扣掉其他像MySql伺服器也會佔資源。架站的資源分佈其實是要認真評估的

留言

熱門文章