我正在开发一个facebook canvas应用程序,我想对其进行负载测试。我知道Facebook对自动测试的限制,因此我通过创建一个在nginx下提供服务的假Web应用程序并将我的/etc/hosts更改为指向graph.facebook.com到127.0.0.1,来模拟了Graph API调用。

我正在使用jmeter对应用程序进行负载测试,并且模拟工作正常。现在,我想模拟慢速图形API响应,并查看它们如何影响我的应用程序。如何配置nginx,以便为发送到模拟graph.facebook.com应用程序的每个请求插入延迟?

最佳答案

您可以通过添加延迟来降低localhost(网络)的速度。
使用ifconfig命令查看网络设备:在localhost上,它可能是lo;在局域网上,它是eth0

  • 添加延迟使用此命令(在lo网络设备上添加1000ms延迟)
    tc qdisc add dev lo root netem delay 1000ms
  • 更改延迟使用此一项
    tc qdisc change dev lo root netem delay 1ms
  • 查看当前延迟
    tc qdisc show dev lo
  • 并消除延迟
    tc qdisc del dev lo root netem delay 1000ms
  • 09-30 14:25
    查看更多