• pypy with twisted vs nodejs


    看到网上都说nodejs处理并发请求速度很快.对比了一下pypy + twisted 单线程模型下

    pypy+twisted完胜 nodejs 最少比nodejs快2倍以上

    nodejs 结果:

    Benchmarking 127.0.0.1 (be patient)
    Completed 4000 requests
    Completed 8000 requests
    Completed 12000 requests
    Completed 16000 requests
    Completed 20000 requests
    Completed 24000 requests
    Completed 28000 requests
    Completed 32000 requests
    Completed 36000 requests
    Completed 40000 requests
    Finished 40000 requests


    Server Software:        
    Server Hostname:        127.0.0.1Benchmarking 127.0.0.1 (be patient)
    Completed 4000 requests
    Completed 8000 requests
    Completed 12000 requests
    Completed 16000 requests
    Completed 20000 requests
    Completed 24000 requests
    Completed 28000 requests
    Completed 32000 requests
    Completed 36000 requests
    Completed 40000 requests
    Finished 40000 requests


    Server Software:        
    Server Hostname:        127.0.0.1
    Server Port:            8080

    Document Path:          /
    Document Length:        12 bytes

    Concurrency Level:      10000
    Time taken for tests:   3.465 seconds
    Complete requests:      40000
    Failed requests:        0
    Total transferred:      2280000 bytes
    HTML transferred:       480000 bytes
    Requests per second:    11543.84 [#/sec] (mean)
    Time per request:       866.263 [ms] (mean)
    Time per request:       0.087 [ms] (mean, across all concurrent requests)
    Transfer rate:          642.58 [Kbytes/sec] received

    Connection Times (ms)
                  min  mean[+/-sd] median   max
    Connect:        0  200 350.6      7    1026
    Processing:     4  105 170.3     12    1658
    Waiting:        2  101 167.4     10    1658
    Total:          5  304 427.1     20    2677

    Percentage of the requests served within a certain time (ms)
      50%     20
      66%    446
      75%    461
      80%    518
      90%   1029
      95%   1064
      98%   1418
      99%   1811
     100%   2677 (longest request)


    Server Port:            8888

    Document Path:          /
    Document Length:        11 bytes

    Concurrency Level:      10000
    Time taken for tests:   6.965 seconds
    Complete requests:      40000
    Failed requests:        0
    Total transferred:      4480000 bytes
    HTML transferred:       440000 bytes
    Requests per second:    5742.94 [#/sec] (mean)
    Time per request:       1741.267 [ms] (mean)
    Time per request:       0.174 [ms] (mean, across all concurrent requests)
    Transfer rate:          628.13 [Kbytes/sec] received

    Connection Times (ms)
                  min  mean[+/-sd] median   max
    Connect:        0  713 968.6    200    3010
    Processing:    19  121 200.9     47    3277
    Waiting:       19  121 200.9     47    3277
    Total:         22  834 987.6    676    6283

    Percentage of the requests served within a certain time (ms)
      50%    676
      66%   1046
      75%   1054
      80%   1173
      90%   3047
      95%   3059
      98%   3090
      99%   3248
     100%   6283 (longest request)

    pypy + twisted

    Benchmarking 127.0.0.1 (be patient)
    Completed 4000 requests
    Completed 8000 requests
    Completed 12000 requests
    Completed 16000 requests
    Completed 20000 requests
    Completed 24000 requests
    Completed 28000 requests
    Completed 32000 requests
    Completed 36000 requests
    Completed 40000 requests
    Finished 40000 requests


    Server Software:        
    Server Hostname:        127.0.0.1
    Server Port:            8080

    Document Path:          /
    Document Length:        12 bytes

    Concurrency Level:      10000
    Time taken for tests:   3.465 seconds
    Complete requests:      40000
    Failed requests:        0
    Total transferred:      2280000 bytes
    HTML transferred:       480000 bytes
    Requests per second:    11543.84 [#/sec] (mean)
    Time per request:       866.263 [ms] (mean)
    Time per request:       0.087 [ms] (mean, across all concurrent requests)
    Transfer rate:          642.58 [Kbytes/sec] received

    Connection Times (ms)
                  min  mean[+/-sd] median   max
    Connect:        0  200 350.6      7    1026
    Processing:     4  105 170.3     12    1658
    Waiting:        2  101 167.4     10    1658
    Total:          5  304 427.1     20    2677

    Percentage of the requests served within a certain time (ms)
      50%     20
      66%    446
      75%    461
      80%    518
      90%   1029
      95%   1064
      98%   1418
      99%   1811
     100%   2677 (longest request)

    nodejs代码:

    var http = require("http");
    http.createServer(function(request, response) {
    response.writeHead(200, {"Content-Type": "text/plain"});
    response.write("Hello World");
    response.end();
    }).listen(8888);

    twisted代码:

    import sys
    from twisted.internet import epollreactor
    epollreactor.install();
    from twisted.internet import reactor

    from twisted.web import http

    class MyRequestHandler(http.Request):
        pages={
            '/':'Hello world!',
            '/test':'<h1>Test</h1>Test Page',
            }
        def process(self):
            if self.pages.has_key(self.path):

                self.setHeader("Content-Type", "text/plain")
                self.write(self.pages[self.path])

            else:
                self.setResponseCode(http.NOT_FOUND)
                self.write("<h1>Not Found</h1>Sorry, no such page.")
            self.finish()
    class MyHttp(http.HTTPChannel):
        requestFactory=MyRequestHandler
    class MyHttpFactory(http.HTTPFactory):
        protocol=MyHttp
    if __name__=="__main__":
        reactor.listenTCP(8080,MyHttpFactory())
        reactor.run()

    web开发工程师一名,喜欢研究技术,学习新技术.爱好:读书,电影,民谣,乡村音乐,相声,羽毛球,爬山,徒步,动物!
  • 相关阅读:
    python学习 day6 (3月7日)
    day05作业---字典
    day04 列表
    python学习 day5 (3月6日)
    python学习 day4 (3月5日)---列表
    Head First JavaScript 第九章:9 异步编码——处理事件
    Head First JavaScript 第八章:8 编写一个应用程序
    Head First JavaScript 第七章:7 类型、相等、转换等系统地讨论类型
    《深入理解C指针》第五章 指针和字符串
    Architecture of a Database System论文——第四章:关系查询处理器
  • 原文地址:https://www.cnblogs.com/raffeale/p/4072543.html
Copyright © 2020-2023  润新知