推薦(免費):PHP7
QPS比較
使用apache bench工具對Nginx靜態頁、Golang Http程式、PHP7 Swoole Http程式進行壓力測試。在同一台機器上,進行並發100共100萬次Http請求的基準測試中,QPS對比如下:
QPS | 軟體版本 | |
---|---|---|
#164489.92 | nginx/1.4.6 (Ubuntu) | |
166838.68 | go version go1.5.2 linux/amd64 | |
287104.12 | PHP7 Swoole | 287104.12 |
287104.12 | swoole-1.7.22-alpha |
245058.70nginx/1.9.9
#更詳細的測試細節
記憶體:16G磁碟:128G SSD
#作業系統:Ubuntu14.04 ( Linux 3.16.0-55-generic)
壓力測試工具
ab -c 100 -n 1000000 -k http://127.0.0.1: 8080/VHOST配置server { listen 80 default_server; root /data/webroot; index index.html; }測試頁面
4a249f0d628e2318394fd9b75b4636b1Hello World!473f0a7621bec819994bb5020d29372a進程數Nginx開啟了4個Worker進程
htf@htf-All-Series:~/soft/php-7.0.0$ ps aux|grep nginx root 1221 0.0 0.0 86300 3304 ? Ss 12月07 0:00 nginx: master process /usr/sbin/nginx www-data 1222 0.0 0.0 87316 5440 ? S 12月07 0:44 nginx: worker process www-data 1223 0.0 0.0 87184 5388 ? S 12月07 0:36 nginx: worker process www-data 1224 0.0 0.0 87000 5520 ? S 12月07 0:40 nginx: worker process www-data 1225 0.0 0.0 87524 5516 ? S 12月07 0:45 nginx: worker processGolang
測試程式碼
package main import ( "log" "net/http" "runtime" ) func main() { runtime.GOMAXPROCS(runtime.NumCPU() - 1) http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) { w.Header().Add("Last-Modified", "Thu, 18 Jun 2015 10:24:27 GMT") w.Header().Add("Accept-Ranges", "bytes") w.Header().Add("E-Tag", "55829c5b-17") w.Header().Add("Server", "golang-http-server") w.Write([]byte("4a249f0d628e2318394fd9b75b4636b1\nHello world!\n473f0a7621bec819994bb5020d29372a\n")) }) log.Printf("Go http Server listen on :8080") log.Fatal(http.ListenAndServe(":8080", nil)) }
PHP7 Swoole
PHP7已啟用OpCachephp程式設計#### #####(影片)############
以上是介紹PHP7+Swoole/Nginx/Golang性能對比的詳細內容。更多資訊請關注PHP中文網其他相關文章!