安裝方法
1、安裝YUM-EPEL源
HTTP-Tools軟體包由YUM-EPEL源提供, 用默認的yum安裝。
[root@localhost ~]# yum -y install epel-release.noarch
2、安裝HTTPD-Tools
先說一下centOS的yum安裝:
[root@localhost ~]# yum -y install httpd-tools
如果是Debian或者Ubuntu系統的apt包get安裝呢?
apt-get install apache2-utils
3、建議調整系統限制
系統默認情況下允許一個進程同時打開的文档描述符數量是1024,若我們需要進行超過1024並發測試的話,可能需要調高此值,客戶耑和服務耑都需要調整。
[root@localhost ~]# ulimit -n 65535 # 設置進程並發文档數(當前生效) [root@localhost ~]# vim /etc/security/limits.conf # 設置進程並發文档數(永久生效) # 用戶 軟硬限制 限制類型 值 root soft nofile 65535 root hard nofile 65535 * soft nofile 65535 * hard nofile 65535 # * 表示所有用戶。 # soft 軟限制,當用戶使用超出設定值系統會發出告警。 # hard 硬限制,絕對限制,用戶使用絕對不能超出設置的值。 # nofile 限制類型,進程可同時打開的並發文档描述符數量。 [root@localhost ~]# ulimit -n 65535
測試方法
我們在進行壓力測試的時候應合理的從小到大一段一段測試WEB服務器負載,並通過壓力測試了解WEB服務器的資源瓶頸,根據業務需求合理的採購服務器。
[root@localhost ~]# ab -c 100 -n 1000 https://www.baidu.com/
有一些人會發現測試一些大站,時間久了全是4xx/5xx返回碼,各種請求不成功,這裡說一下人爲因素,ab測試工具也並非百試百靈,因爲各個公司的運維人員對請求的過濾都有一定的槼則,中間也有防火牆自動化安全機制的參與。自測的話,先把站點的相關安全機制調整一下才能得到相對可靠的測試結果。
常用參數說明
-c 並發量
-n 總請求量
-k 如果想對服務器發送攜帶keep-alive請求的, 就單獨追加一個
-t 超時時間,單位“秒”,這裡不想嚕囌太多,如果不想一次測試等太久,就把這個參數設定上,例如-t 10意味著10秒就結束測試
-q 代表不想看嚕囌的報告,超過150個以上的連接測試就忽略掉
市面上一般的動態網站秒並發負載能力也就5~40次/秒, 能達到40就算不錯的水平了。優秀的程序員團隊能寫出100以上的秒級並發動態頁面。補充一句也許會把你惹怒到要拍我的話:這個和使用哪種語言關係不大。