PHP7+Swoole/Nginx/Golang性能对比
生活随笔
收集整理的這篇文章主要介紹了
PHP7+Swoole/Nginx/Golang性能对比
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
QPS對(duì)比
使用apache bench工具對(duì)Nginx靜態(tài)頁、Golang Http程序、PHP7+Swoole Http程序進(jìn)行壓力測試。在同一臺(tái)機(jī)器上,進(jìn)行并發(fā)100共100萬次Http請求的基準(zhǔn)測試中,QPS對(duì)比如下:
| Nginx | 164489.92 | nginx/1.4.6 (Ubuntu) |
| Golang | 166838.68 | go version go1.5.2 linux/amd64 |
| PHP7+Swoole | 287104.12 | swoole-1.7.22-alpha |
| Nginx-1.9.9 | 245058.70 | nginx/1.9.9 |
注:Nginx-1.9.9的測試中,已關(guān)閉access_log,啟用open_file_cache緩存靜態(tài)文件到內(nèi)存
- 更詳細(xì)的測試細(xì)節(jié)
- 歷史測試數(shù)據(jù):Nginx/Golang/Swoole/Node.js的性能對(duì)比
測試環(huán)境
- CPU:Intel? Core? i5-4590 CPU @ 3.30GHz × 4
- 內(nèi)存:16G
- 磁盤:128G SSD
- 操作系統(tǒng):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; }測試頁面
<h1>Hello World!</h1>進(jìn)程數(shù)量
Nginx開啟了4個(gè)Worker進(jìn)程
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 mainimport ("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("<h1>\nHello world!\n</h1>\n"))})log.Printf("Go http Server listen on :8080")log.Fatal(http.ListenAndServe(":8080", nil)) }PHP7+Swoole
PHP7已啟用OpCache加速器。
PHP版本
htf@htf-All-Series:~/soft/php-7.0.0$ php -v PHP 7.0.0 (cli) (built: Dec 10 2015 14:36:26) ( NTS ) Copyright (c) 1997-2015 The PHP Group Zend Engine v3.0.0, Copyright (c) 1998-2015 Zend Technologieswith Zend OPcache v7.0.6-dev, Copyright (c) 1999-2015, by Zend Technologies測試代碼
$http = new swoole_http_server("127.0.0.1", 9501, SWOOLE_BASE);$http->set(['worker_num' => 4, ]);$http->on('request', function ($request, swoole_http_response $response) {$response->header('Last-Modified', 'Thu, 18 Jun 2015 10:24:27 GMT');$response->header('E-Tag', '55829c5b-17');$response->header('Accept-Ranges', 'bytes'); $response->end("<h1>\nHello Swoole.\n</h1>"); });$http->start();來源:https://wiki.swoole.com/wiki/page/508.html
總結(jié)
以上是生活随笔為你收集整理的PHP7+Swoole/Nginx/Golang性能对比的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Server
- 下一篇: PHP的swoole扩展安装方法详细教程