如何计算每秒传出请求的数量?

时间:2015-08-09 15:18:57

标签: http go

我正在编写一个go程序,它将同时使用goroutine生成数千个http.Get请求。这将是一个漫长的过程,我将添加一个管理功能,将列出有关该过程的某些统计信息。

我正在试图找出一种干净的方法来计算我每秒的请求数量。我想出了一些可能的解决方案:

  1. 存储一个计数器并有一个计时器,每隔几秒执行一次计算请求/秒,然后重置计数器。我担心以线程安全的方式执行此操作。如果我在访问此计数器之前使用互斥锁,我是否会破坏我的性能?

  2. 为每个成功的请求保留一个时间戳列表,然后我可以在列表中向后走,查看我关心的时间段内的所有时间戳。我担心这个列表会增长,但也许我可以使用循环缓冲区。

  3. 以某种方式保持我的请求的运行平均值/秒?
  4. 在我的Go计划中,我每秒计算http.Get次请求的最佳方式是什么?

0 个答案:

没有答案