swift製webサーバ"perfect"を試してみた。
perfectサーバを立てて、nginxと静的ページの表示速度の比較してみた。
GitHub - PerfectlySoft/Perfect: Server-side Swift. The Perfect library, application server, connectors and example apps. (For mobile back-end development, website and web app development, and more...)
サーバスペック
1 cpu x 0.8 Ghz 1GB RAM
OS Ubuntu 14.04.4 LTS
ABコマンドによる調査を実施
ab -k -c 1000 -n 5000
nginx
Server Software | nginx/1.8.1 |
Document Length | 5 bytes |
Concurrency Level | 1000 |
Time taken for tests | 0.651 seconds |
Complete requests | 5000 |
Failed requests | 0 |
Keep-Alive requests | 5000 |
Total transferred | 1190000 bytes |
HTML transferred | 25000 bytes |
Requests per second | 7677.43 [#/sec] (mean) |
Time per request | 130.252 [ms] (mean) |
Time per request | 0.130 [ms] (mean, across all concurrent requests) |
Transfer rate | 1784.40 [Kbytes/sec] received |
Connection Times (ms)
min | mean | [+/-sd] | median | max | |
Connect | 0 | 15 | 32.9 | 0 | 96 |
Processing | 12 | 81 | 103.4 | 46 | 494 |
Waiting | 12 | 81 | 103.4 | 46 | 494 |
Total | 12 | 95 | 115.4 | 46 | 582 |
そして期待のperfect
Server Software | |
Document Length | 5 bytes |
Concurrency Level | 1000 |
Time taken for tests | 4.266 seconds |
Complete requests | 5000 |
Failed requests | 0 |
Keep-Alive requests | 5000 |
Total transferred | 620000 bytes |
HTML transferred | 25000 bytes |
Requests per second | 1172.08 [#/sec] (mean) |
Time per request | 853.184 [ms] (mean) |
Time per request | 0.853 [ms] (mean, across all concurrent requests) |
Transfer rate | 141.93 [Kbytes/sec] received |
Connection Times (ms)
min | mean | [+/-sd] | median | max | |
Connect | 0 | 64 | 138.9 | 0 | 1780 |
Processing | 51 | 705 | 442.2 | 471 | 2087 |
Waiting | 4 | 704 | 442.2 | 471 | 2087 |
Total | 51 | 768 | 454.6 | 658 | 3776 |
お・・・・おそ・・・・
お互い何もチューニングしてないので安直に結論は出せませんが、
遊び以外での導入は厳しい。。。
Server Softwareがからっぽなのは新鮮。
Total transferredがなぜかnginxの半分ほどなので、この辺は要調査。