【问题标题】:AB load testing on local ip or domain name?本地ip或域名的AB负载测试?
【发布时间】:2019-02-26 14:29:57
【问题描述】:

我正在使用 digitalocean 作为我的网络服务器的 vps。 我添加了第二个带有 ubuntu 18 的小滴,它是带有 Web 服务器的专用网络(digitalocean 功能)的一部分。

我使用 cloudflare 作为我的 dns 提供商,并且还使用他们的 ssl 证书。

使用 ab 进行最准确的负载测试是什么(**请注意下面示例中的 http/https):

    ab -n 100 -c 1 -k -H "Accept-Encoding: gzip, deflate" https://www.example.com/
    Request per second : 12.66

    ab -n 100 -c 1 -k -H "Accept-Encoding: gzip, deflate" http://www.example.com/
    Request per second : 60.90

    ab -n 100 -c 1 -k -H "Accept-Encoding: gzip, deflate" https://private.network.local.ip/
    Request per second : 36.70

    ab -n 100 -c 1 -k -H "Accept-Encoding: gzip, deflate" http://private.network.local.ip/
    Request per second : 1849

我应该如何将abhttphttps 以及域或本地IP 一起使用?

【问题讨论】:

    标签: nginx load-testing vps ubuntu-18.04 apachebench


    【解决方案1】:
    1. 表现良好的负载测试应该尽可能接近真实的应用程序使用情况,否则就没有意义。因此,您应该使用与应用程序的真实用户相同的设置,我的期望是:

      • 域名而不是IP地址
      • https协议
    2. 有什么理由将您的应用程序的响应时间与实时网站http://example.com 进行比较?您应该将应用程序的DNS hostname 与应用程序的 IP 地址进行比较,在这种情况下,结果应该是相同的

    3. ab 不是模拟真实用户活动的最佳工具,它基本上“锤击”了一个不代表真实用户行为、真实用户的单个 URL:

      • 建立一次 SSL 会话,正在通过此通道进行进一步通信
      • 发送HTTP Headers 可能会触发response compression 减少响应大小
      • 在他们的浏览器中实现了HTTP Cache,因此图像、脚本、样式、字体等嵌入式资源只被请求一次
      • 拥有代表用户会话的Cookies

      假设以上所有我建议切换到more advanced load testing tool which is capable of acting like a real browser

    【讨论】:

    • “您应该将应用程序的 DNS 主机名与应用程序的 IP 地址进行比较”是指公共 IP 地址还是私有 IP 地址?
    猜你喜欢
    • 2012-09-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-24
    • 2010-10-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多