シンプルな言語Webパフォーマンス比較テストの様々な

突然のpython nodejsは、Web応答を行って比較したい、あなたは単純にパーソナライズされた比較テストを書くことができます。

試験の目的:
1 4コアI5同じマシン32GのLinux 
2.パイソン(フラスコスレッドモード)を使用して、単純なエコーサービスの書き込みにそれぞれ移動nodejs

テストツール:
WRK


サーバーのチェックリスト:

Pythonのフラスコにhttp:// 192.168.0.208:5050/ 
nodejs特急ます。http:// 192.168.0.208:5056/ 
サーバーのhttpを行く:// 192.168.0.208:5057/


テストスクリプト:

WRK -c100 -T10 -d30sます。http:// 192.168.0.208:5050/ 
WRK -c100 -T10 -d30sます。http:// 192.168.0.208:5056/ 
WRK -c100 -T10 -d30sます。http:// 192.168.0.208:5057 / 

WRK -c1000 -T10 -d30sます。http:// 192.168.0.208:5050/ 
WRK -c1000 -T10 -d30sます。http:// 192.168.0.208:5056/ 
WRK -c1000 -T10 -d30sます。http:// 192.168.0.208: 5057 /


試験結果:

10の端末100件のスレッド

30代テストの@のhttpの実行:// 192.168.0.208:5050/ 
  10件のスレッドと100台の接続は、
  統計平均STDEV最大スレッド    +/- STDEV 
    レイテンシ     85 .24ms    62 .29ms 447 .28ms    90.54%の
    必須 /秒    137.84      54.19    202.00      63.7228723個の要求を 30 .03s、6 0.79メガバイト読み取り
  ソケットエラーを:接続100を読み取り、0を書き込み 0タイムアウト、0
リクエスト /秒:     956.35 
転送 /秒:     231 0.62キロバイト


ヒュラス@ keras208:〜$ WRK -c100 -T10 -d30sます。http:// 192.168.0.208:5056/ 
実行する30代テスト@はhttp:// 192.168.0.208:5056/ 
  10スレッドと100台の接続は、
  統計平均STDEV最大スレッド    +/- STDEV 
    レイテンシ      2 .37ms   349 .63us   17 .71ms    98.57%の
    必須 /秒      4 .25k    253.62      5 .32k     97.80%に
  1269157回のリクエスト 30 .01s、188 0.82メガバイトの読み取り
要求:/秒   42284.18 
転送 /秒:       6 0.29メガバイト



ヒュラス@ keras208:〜$ WRK -c100 -T10 -d30sます。http:// 192.168.0.208:5057/ 
実行する30代のテストを@ http:// 192.168.0.208:5057/ 
  10件のスレッドと100個の接続
  統計平均STDEV最大スレッド    +/- STDEV 
    レイテンシを      2 .20ms     5 .19ms 105 .37ms    91.89%の
    必須 /秒    13 .93k      3 .45k    46 .58k     72.804165034回のリクエスト 30 .07s、647 0.45メガバイト読み取り
要求:/秒138501.94 
転送 /秒:      21 0.53メガバイトを


1000年の端末10のスレッド

hylas@keras208:~$ wrk -c1000 -t10 -d30s  http://192.168.0.208:5050/
Running 30s test @ http://192.168.0.208:5050/
  10 threads and 1000 connections
  Thread Stats   Avg      Stdev     Max   +/- Stdev
    Latency   124.59ms  129.37ms   1.97s    91.52%
    Req/Sec   129.50     92.32   610.00     66.97%
  30763 requests in 30.09s, 7.28MB read
  Socket errors: connect 938, read 52, write 0, timeout 465
Requests/sec:   1022.24
Transfer/sec:    247.57KB


hylas@keras208:~$ wrk -c1000 -t10 -d30s  http://192.168.0.208:5056/
Running 30s test @ http://192.168.0.208:5056/
  10 threads and 1000 connections
  Thread Stats   Avg      Stdev     Max   +/- Stdev
    Latency    25.00ms    9.27ms 463.53ms   96.69%
    Req/Sec     4.01k   480.69    12.12k    94.63%
  1189964 requests in 30.09s, 177.03MB read
Requests/sec:  39545.31
Transfer/sec:      5.88MB


hylas@keras208:~$ wrk -c1000 -t10 -d30s  http://192.168.0.208:5057/
Running 30s test @ http://192.168.0.208:5057/
  10 threads and 1000 connections
  Thread Stats   Avg      Stdev     Max   +/- Stdev
    Latency    17.17ms   33.92ms 475.96ms   91.23%
    Req/Sec    12.94k     6.57k   79.62k    70.73%
  3831283 requests in 30.09s, 595.57MB read
Requests/sec: 127325.42
Transfer/sec:     19.79MB

 

 

结论:

1.  100 终端时:python 延时最大,与另外两个相差一个数量级 ,  nodejs go 差不多。 Req/Sec 比例分别是 0.13 : 4:13 , go能大大 13k/s
2.  1000 终端时: nodejs 和 go 的延时增加,但还是明显优与 python ,   Req/Sec  保持稳定 python 最低,nodejs :go  3:12  go的峰值 79k/s
3.  在高并发web服务中 首选 go  , nodejs  次之   python 最弱

ps: 以上结论未考虑 开发效率,人员薪资成本等因素

 

おすすめ

転載: www.cnblogs.com/xiaoxuebiye/p/11027698.html
おすすめ