第1步:安裝依賴
add-apt-repository ppa:ondrej/php apt install php-dev
第2步:編譯安卓swoole
wget https://codeload.github.com/swoole/swoole-src/tar.gz/v4.5.2
然后tar zxvf 之....
cd swoole-src-4.5.2
phpize ./configure make make install
第3步:寫入配置文件
echo 'extension=swoole.so' > /etc/php/7.4/cli/conf.d/20-swoole.ini
第4步:將下面內容保存成swoole.php並運行php swoole.php測試
<?php //高性能HTTP服務器 $http = new Swoole\Http\Server("0.0.0.0", 9501); $http->on("start", function ($server) { echo "Swoole http server is started at http://127.0.0.1:9501\n"; }); $http->on("request", function ($request, $response) { $response->header("Content-Type", "text/plain"); $response->end("Hello World\n"); }); $http->start();
第5步:模擬1000個並發進行壓力測試
ab -n 100000 -c 1000 http://127.0.0.1:9501/
結果Requests per second: 8651.06 [#/sec] (mean)
This is ApacheBench, Version 2.3 <$Revision: 1843412 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/Benchmarking 127.0.0.1 (be patient)
Completed 10000 requests
Completed 20000 requests
Completed 30000 requests
Completed 40000 requests
Completed 50000 requests
Completed 60000 requests
Completed 70000 requests
Completed 80000 requests
Completed 90000 requests
Completed 100000 requests
Finished 100000 requests
Server Software: swoole-http-server
Server Hostname: 127.0.0.1
Server Port: 9501Document Path: /
Document Length: 12 bytesConcurrency Level: 1000
Time taken for tests: 11.434 seconds
Complete requests: 100000
Failed requests: 0
Total transferred: 16100000 bytes
HTML transferred: 1200000 bytes
Requests per second: 8746.07 [#/sec] (mean)
Time per request: 114.337 [ms] (mean)
Time per request: 0.114 [ms] (mean, across all concurrent requests)
Transfer rate: 1375.11 [Kbytes/sec] receivedConnection Times (ms)
min mean[+/-sd] median max
Connect: 0 47 6.9 47 65
Processing: 13 67 10.9 67 112
Waiting: 0 50 10.7 51 98
Total: 53 114 8.3 115 145Percentage of the requests served within a certain time (ms)
50% 115
66% 118
75% 120
80% 121
90% 124
95% 126
98% 129
99% 131
100% 145 (longest request)