【问题标题】:Benchmarking EC2对 EC2 进行基准测试
【发布时间】:2012-02-02 13:01:23
【问题描述】:

我正在运行一些快速测试,以尝试估算发布和未来的硬件成本。

规格

Ubuntu Natty 11.04 64 位 Nginx 0.8.54 m1.大

我觉得我在这里一定做错了什么。我正在尝试做的估计有多少 同时我可以在必须添加额外的机器之前支持。我正在使用 django 应用程序服务器,但现在我只是在测试 nginx 服务器的静态 index.html 页面

结果:

$ ab -n 10000 http://ec2-107-20-9-180.compute-1.amazonaws.com/
This is ApacheBench, Version 2.3 <$Revision: 655654 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/

Benchmarking ec2-107-20-9-180.compute-1.amazonaws.com (be patient)
Completed 1000 requests
Completed 2000 requests
Completed 3000 requests
Completed 4000 requests
Completed 5000 requests
Completed 6000 requests
Completed 7000 requests
Completed 8000 requests
Completed 9000 requests
Completed 10000 requests
Finished 10000 requests


Server Software:        nginx/0.8.54
Server Hostname:        ec2-107-20-9-180.compute-1.amazonaws.com
Server Port:            80

Document Path:          /
Document Length:        151 bytes

Concurrency Level:      1
Time taken for tests:   217.748 seconds
Complete requests:      10000
Failed requests:        0
Write errors:           0
Total transferred:      3620000 bytes
HTML transferred:       1510000 bytes
Requests per second:    45.92 [#/sec] (mean)
Time per request:       21.775 [ms] (mean)
Time per request:       21.775 [ms] (mean, across all concurrent requests)
Transfer rate:          16.24 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        9   11  10.3     10     971
Processing:    10   11   9.7     11     918
Waiting:       10   11   9.7     11     918
Total:         19   22  14.2     21     982

Percentage of the requests served within a certain time (ms)
  50%     21
  66%     21
  75%     22
  80%     22
  90%     22
  95%     23
  98%     25
  99%     35
 100%    982 (longest request)

所以在我添加 django 后端之前,基本的 nginx 设置只能超 45 个请求/秒? 这对于 m1.large 来说太可怕了……不是吗?

我做错了什么?

【问题讨论】:

    标签: django ubuntu nginx amazon-ec2 benchmarking


    【解决方案1】:

    您只将并发级别设置为 1。如果您想要更真实的结果,我建议您提高并发(Apache Bench 的 -c 标志),例如 ab -c 10 -n 1000 http://ec2-107-20-9-180.compute-1.amazonaws.com/.

    【讨论】:

    • 如果我增加并发,req/sec 应该减少吗?
    • 我希望 req/s 会增加,直到服务器的并发连接数超过它可以有效处理的数量。那个断点可能取决于应用程序,但这应该是基准测试过程的一部分。单个并发可以获得多少请求/秒并不重要,因为如果您一次只有一个人在网站上,您就不会有扩展问题。
    【解决方案2】:

    Mark 对并发的看法。另外,我会花几块钱购买像 loadstorm.com 这样的专业负载测试服务,并以这种方式非常努力地解决问题。增加负载直到它断裂。创建完全真实的模拟流量(这对估计服务器容量很重要)并非易事,这些服务通过加载资源和跟踪链接等来提供帮助。仅加载一个静态页面,您不会得到非常真实的数字。运行真实应用程序,并使用大量虚拟浏览器进行访问。您不能指望通过一台机器生成流量来找到配置良好的服务器的限制。

    【讨论】:

    • loadstorm 是最好的服务吗?
    • “最佳”很难定义。这绝对不是最复杂的。但我喜欢 loadstorm,因为它们在便宜、易于使用和对我来说足够强大之间取得了很好的平衡。
    猜你喜欢
    • 1970-01-01
    • 2017-12-30
    • 2023-03-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多