【问题标题】:measuring performance - using real clicks vs "ab" command测量性能 - 使用实际点击与“ab”命令
【发布时间】:2009-11-27 12:57:44
【问题描述】:

我有一个封闭测试的网站,用 Django 开发,在 Debian 上使用 Mysql 运行。

在过去的几天里,主页一直显示速度变慢。每点击 10 次,就有一两次收到极慢的响应(10 秒或更长),其他的则与以前一样快。

我在找问题的时候,遇到了这个我没把握的问题:

top 命令显示,当我请求主页时,mysql 的 CPU 使用率高达 90% - 100%。当 cpu 使用恢复正常时,我得到了页面。所以,我想,是db。

然后我用参数-n 1000 -c 5调用ab,我得到了不错的性能,大约每秒100页,就像减速之前一样。我会想象性能更差,因为 10-20% 的请求需要 10 秒才能加载。

ab 和“真实”点击之间的冲突是正常的,还是我在错误的配置中使用了 ab?

【问题讨论】:

  • 你试过 MySQL 的慢查询日志吗?您是否对应用程序进行了概要分析?
  • 不,还没有。其实我不是在问减速的原因(但我可能很快就会这样做),我只是好奇为什么减速没有反映在 ab 的输出中。
  • 例如,它可能位于代码中取决于用户登录的位置。
  • 这很好。我可以使用 AB 发送来自模拟用户的请求吗?

标签: mysql django


【解决方案1】:

ab 不会执行页面的许多部分(即 javascript),因此您可能会注意到对网络服务器的压力可能存在明显差异。

【讨论】:

  • 感谢您的回答。但是,减速并不是因为加载或执行 javascript(js 文件被压缩、版本化并且有很长的到期日)。
  • 但是在客户端执行时,javascript 是否会对网络服务器(即 ajax)进行其他调用?
  • 不,我要进行基准测试的页面上没有 ajax。值得一提的是,浏览器在等待服务器(大约 10 秒)时冻结,然后非常快速地获取和呈现页面。
  • 好的...所以问题必须出在 ab 未处理的其他页面元素上,例如会话数据。您是否将会话存储在 mysql 上?
猜你喜欢
  • 2022-01-01
  • 1970-01-01
  • 2019-10-20
  • 2015-04-03
  • 1970-01-01
  • 2015-03-20
  • 2015-01-21
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多