python - 用于分析我的代码速度的 ApacheBench 替代品

标签 python profiling benchmarking latency apachebench

我使用 Apache Bench 做了一些实验来分析我的代码响应时间,但它并没有为我生成正确类型的数据。希望这里的好心人出出主意。

具体来说,我需要一个工具

  • 是否通过网络进行 HTTP 请求(它不需要做任何非常花哨的事情)
  • 尽可能准确地记录响应时间(至少精确到几毫秒)
  • 将响应时间数据写入文件而不进行进一步处理(或者将其提供给我的代码,如果是库)

我知道 ab -e,它将数据打印到文件中。问题是这只打印分位数数据,这很有用,但不是我需要的。 ab -g 选项可以工作,只是它不打印亚秒级数据,这意味着我没有所需的分辨率。

我写了几行 Python 来完成它,但是 httplib 效率低得可怕,所以结果毫无用处。一般来说,我需要比纯 Python 可能提供的精度更高的精度。如果有人对可从 Python 中使用的库提出建议,我会洗耳恭听。

我需要高性能、可重复且可靠的东西。

我知道我有一半的回答是“互联网延迟使那种详细的测量变得毫无意义”。在我的特定用例中,这是不正确的。我需要高分辨率的时间细节。实际使用我的 HPET 硬件的东西会很棒。

由于答案和观看次数很少,所以在这里悬赏。

最佳答案

我用两种方式做到了这一点。

“loadrunner”是一款很棒但相当昂贵的产品(我认为这些天来自 HP)。

结合 perl/php 和 Curl 包。我发现 CURL api 在 php 中更容易使用。滚动您自己的 GET 和 PUT 请求非常容易。我还建议使用 Firefox 手动运行一些示例请求,并添加 LiveHttpHeaders 以捕获您需要的 http 请求的确切格式。

关于python - 用于分析我的代码速度的 ApacheBench 替代品,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4083523/

相关文章:

python - 处理发送请求的可变数量的关键字参数

python - 使用 pymongo 从 mongodb 检索文档时的有序属性?

java - Spring计划任务的配置文件性能

ruby - 分析 Ruby 代码

python - 为什么多进程 python grpc 服务器不起作用?

python - 如何在创建目录时显示消息?

performance - 如何加载测试在 asp.net mvc3 上开发的 Web 应用程序?

go - 如何在基准函数中使用 "testing.Benchmark"

linux - 是否有标准常量 *nix 基准,如果没有,如何制作 `bogobench` ?

testing - 为集成测试和基准测试共享实用功能的惯用方法是什么?