Recommended (free): PHP7
QPS comparison
Use the apache bench tool to perform stress testing on Nginx static pages, Golang Http programs, and PHP7 Swoole Http programs. In the benchmark test of 1 million concurrent HTTP requests on the same machine, the QPS comparison is as follows:
QPS | Software version | |
---|---|---|
164489.92 | nginx/1.4.6 (Ubuntu) | |
166838.68 | go version go1.5.2 linux/amd64 | |
287104.12 | swoole-1.7.22-alpha | |
245058.70 | nginx/1.9.9 |
More detailed test details
- Historical test data: Performance comparison of Nginx/Golang/Swoole/Node.js
CPU: Intel® Core™ i5-4590 CPU @ 3.30GHz × 4
- Memory: 16G
- Disk: 128G SSD
- Operating system: Ubuntu14.04 ( Linux 3.16.0-55-generic)
ab -c 100 -n 1000000 -k http://127.0.0.1: 8080/
VHOST configuration
server { listen 80 default_server; root /data/webroot; index index.html; }
Test page
<h1 id="Hello-World">Hello World!</h1>
Number of processes
Nginx has opened 4 Worker processes
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
Test Code
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 id="nHello-world-n">\nHello world!\n</h1>\n")) }) log.Printf("Go http Server listen on :8080") log.Fatal(http.ListenAndServe(":8080", nil)) }PHP7 Swoole
PHP7 has the
OpCache accelerator enabled. PHP version
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 Technologies with Zend OPcache v7.0.6-dev, Copyright (c) 1999-2015, by Zend Technologies
Test code
$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 id="nHello-nbsp-Swoole-n">\nHello Swoole.\n</h1>"); }); $http->start();
Related free learning recommendations:php programming(video)
The above is the detailed content of Introducing PHP7+Swoole/Nginx/Golang performance comparison. For more information, please follow other related articles on the PHP Chinese website!

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

SublimeText3 English version
Recommended: Win version, supports code prompts!

MinGW - Minimalist GNU for Windows
This project is in the process of being migrated to osdn.net/projects/mingw, you can continue to follow us there. MinGW: A native Windows port of the GNU Compiler Collection (GCC), freely distributable import libraries and header files for building native Windows applications; includes extensions to the MSVC runtime to support C99 functionality. All MinGW software can run on 64-bit Windows platforms.

ZendStudio 13.5.1 Mac
Powerful PHP integrated development environment

Zend Studio 13.0.1
Powerful PHP integrated development environment

Notepad++7.3.1
Easy-to-use and free code editor
