首頁 > 後端開發 > PHP7 > 介紹PHP7+Swoole/Nginx/Golang性能對比

介紹PHP7+Swoole/Nginx/Golang性能對比

coldplay.xixi
發布: 2023-02-17 19:52:02
轉載
3192 人瀏覽過

介紹PHP7+Swoole/Nginx/Golang性能對比

推薦(免費):PHP7

QPS比較

使用apache bench工具對Nginx靜態頁、Golang Http程式、PHP7 Swoole Http程式進行壓力測試。在同一台機器上,進行並發100共100萬次Http請求的基準測試中,QPS對比如下:

##軟體QPS軟體版本Nginx#164489.92nginx/1.4.6 (Ubuntu)#Golang166838.68go version go1.5.2 linux/amd64PHP7 Swoole287104.12PHP7 Swoole287104.12#PHP7 Swoole287104.12 swoole-1.7.22-alphaNginx-1.9.9
245058.70

nginx/1.9.9
  • 註:Nginx-1.9.9的測試中,已關閉access_log,啟用open_file_cache快取靜態檔案到記憶體

#更詳細的測試細節

    歷史測試資料:Nginx/Golang/Swoole/Node.js的效能比較
  • 測試環境
  • CPU:Intel® Core™ i5-4590 CPU @ 3.30GHz × 4

記憶體: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;
}
登入後複製
測試頁面
<h1>Hello World!</h1>
登入後複製
進程數

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 process
登入後複製
Golang

測試程式碼

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("<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版本

測試程式碼
$http = new swoole_http_server("127.0.0.1", 9501, SWOOLE_BASE);

$http->set([
    &#39;worker_num&#39; => 4,
]);

$http->on(&#39;request&#39;, function ($request, swoole_http_response $response) {
    $response->header(&#39;Last-Modified&#39;, &#39;Thu, 18 Jun 2015 10:24:27 GMT&#39;);
    $response->header(&#39;E-Tag&#39;, &#39;55829c5b-17&#39;);
    $response->header(&#39;Accept-Ranges&#39;, &#39;bytes&#39;);    
    $response->end("<h1>\nHello Swoole.\n</h1>");
});

$http->start();
登入後複製
#相關免費學習推薦:

php程式設計#### #####(影片)############

以上是介紹PHP7+Swoole/Nginx/Golang性能對比的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:csdn.net
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板