美文网首页
WEB页面上万的并发

WEB页面上万的并发

作者: InnoTech | 来源:发表于2018-12-23 18:17 被阅读0次

    短板是带宽

    我当时目标很简单,如果我的网站能支撑1万个并发 在一分钟内处理完 就谢天谢地了。

    经过一轮的折腾之后,我得出的经验是,上万的并发是有钱人的游戏,穷屌丝们只能在区域网里感叹一下

    因为,木桶原理,短板在带宽上,最烧钱的也是带宽

    假设站点的带宽是4Mbit/s 请求的页面大小是40kb,那么每秒只能处理的12个连接,一万个连接 要14分钟

    每秒仅处理12个连接。。。 你还对内存有要求? 还是对CPU 有要求? 还是硬盘的读写速度跟不上了?还在乎用nginx还是apache?

    Nginx 还是 Apache

    大家都说nginx 在并发上多么多么的有优势,如果网站并发不超过2万,亲测Apache都稍优于Nginx 再大我没有测试过,所以我现在很是后悔以前跟风吹嘘nginx好,epoll好。。。。

    我在阿里云一个8G 4核 (Intel Xeon E5-2682v4 / Intel Xeon(Skylake) Platinum 8163 2.5 GHz)的服务器 同时搭建了Apache和Nginx环境 使用ab命令测试的

    nginx 10000次381秒

    Server Software:        nginx/1.12.2

    Document Length:        39281 bytes

    Concurrency Level:      10000

    Time taken for tests:  381.031 seconds

    Complete requests:      10000

    Failed requests:        0

    Total transferred:      395170000 bytes

    HTML transferred:      392810000 bytes

    Requests per second:    26.24 [#/sec] (mean)

    Time per request:      381030.615 [ms] (mean)

    Time per request:      38.103 [ms] (mean, across all concurrent requests)

    Transfer rate:          1012.80 [Kbytes/sec] received

    Connection Times (ms)

                  min  mean[+/-sd] median  max

    Connect:      26  38  24.2    36    1444

    Processing:  2114 192241 109289.0 193797  380294

    Waiting:      28 190667 109446.4 192221  378970

    Total:      2150 192279 109288.6 193832  380321

    Percentage of the requests served within a certain time (ms)

      50%  193832

      66%  252949

      75%  286462

      80%  304815

      90%  342882

      95%  362196

      98%  373041

      99%  376604

    100%  380321 (longest request)

    Apache 10000次370秒

    Server Software:        Apache/2.4.6

    Document Length:        39281 bytes

    Concurrency Level:      10000

    Time taken for tests:  369.933 seconds

    Complete requests:      10000

    Failed requests:        0

    Total transferred:      395460000 bytes

    HTML transferred:      392810000 bytes

    Requests per second:    27.03 [#/sec] (mean)

    Time per request:      369933.405 [ms] (mean)

    Time per request:      36.993 [ms] (mean, across all concurrent requests)

    Transfer rate:          1043.95 [Kbytes/sec] received

    Connection Times (ms)

                  min  mean[+/-sd] median  max

    Connect:      26  36  21.5    36    1436

    Processing:  2168 184588 105904.3 183677  369183

    Waiting:      28 182993 106063.1 182085  367833

    Total:      2204 184624 105904.7 183715  369213

    Percentage of the requests served within a certain time (ms)

      50%  183715

      66%  242029

      75%  274513

      80%  292806

      90%  333280

      95%  351313

      98%  362069

      99%  365738

    100%  369213 (longest request)

    这数据 简直难以启齿,没错 我发现带宽只有8M

    那么高潮来了 我在阿里云的同区域网租了一台服务器 同样的环境 变成区域网内测试了

    Apache 20000 11秒 (1万的并发都不好意思来测试了)

    Server Software:        Apache/2.4.6

    Document Length:        39281 bytes

    Concurrency Level:      20000

    Time taken for tests:  11.584 seconds

    Complete requests:      20000

    Failed requests:        0

    Write errors:          0

    Total transferred:      790920000 bytes

    HTML transferred:      785620000 bytes

    Requests per second:    1726.48 [#/sec] (mean)

    Time per request:      11584.234 [ms] (mean)

    Time per request:      0.579 [ms] (mean, across all concurrent requests)

    Transfer rate:          66675.35 [Kbytes/sec] received

    Connection Times (ms)

                  min  mean[+/-sd] median  max

    Connect:        0  280 615.8      0    4567

    Processing:    0  239 429.5    155    8174

    Waiting:        0  149 254.0    145    8173

    Total:          1  519 838.9    164  10153

    Percentage of the requests served within a certain time (ms)

      50%    164

      66%    320

      75%    580

      80%  1110

      90%  1285

      95%  1928

      98%  3175

      99%  3879

    100%  10153 (longest request)

    nginx 20000 11秒

    Server Software:        nginx/1.12.2

    Document Length:        39281 bytes

    Concurrency Level:      20000

    Time taken for tests:  11.336 seconds

    Complete requests:      20000

    Failed requests:        0

    Write errors:          0

    Total transferred:      790340000 bytes

    HTML transferred:      785620000 bytes

    Requests per second:    1764.22 [#/sec] (mean)

    Time per request:      11336.451 [ms] (mean)

    Time per request:      0.567 [ms] (mean, across all concurrent requests)

    Transfer rate:          68082.72 [Kbytes/sec] received

    Connection Times (ms)

                  min  mean[+/-sd] median  max

    Connect:        0  516  34.8    516    574

    Processing:  572 3190 1618.7  3463  10669

    Waiting:        0  754 906.9    475    6658

    Total:      1039 3705 1626.3  4002  11237

    Percentage of the requests served within a certain time (ms)

      50%  4002

      66%  4622

      75%  4964

      80%  5134

      90%  5436

      95%  5849

      98%  6860

      99%  7325

    100%  11237 (longest request)

    相关文章

      网友评论

          本文标题:WEB页面上万的并发

          本文链接:https://www.haomeiwen.com/subject/cnegkqtx.html