如何从apache日志确定并发用户数

我们有3个月的Apache日志,我们需要确定我们收到的最大并发连接数是多less。

我已经使用AWStats,我不认为这是它产生的东西。 有没有另一种工具可以从日志中给我们提供这种信息?

如果没有在某些假设下进行烘焙,则无法使用默认的常用或组合日志格式。 例如,如果你假设你所有的答案都需要500毫秒,那么你可以把每秒的对数线数除以一半。

最简单的方法是使用像munin或cacti这样的方法来轮询mod_status中的值。 或者您可以在接下来的几天内观看几十个样本的netstat输出,然后使用它来估计您的站点的并发连接与stream量的大致比率。

你可以看看netstat -n -t的输出。 ESTABLISHED在端口80上的连接数是当前的并发连接数(大致)。 有很多工具可以为你收集这类数据; 我们使用Ganglia,如果你使用“tcpconn”模块,它会给你各种networking统计信息。

不是我所知道的 – 最好的解决scheme是轮询netstat或者查看服务器状态,但是这对历史数据来说不是很方便。

如果你只有标准的日志文件,那么这里没有太多的信息(除非你的网站总是非常,非常慢),但你至less可以尝试计算并发连接的估计。 您需要按%t对文件进行sorting,然后遍历每个logging来完成重叠。 这不是一个简单的代码。

一个简单的方法,你可以简单地看看每小时点击次数乘以平均响应时间,然后除以一秒钟的秒数。 当然,这假设所有的请求均匀地分开 – 但你可以计算一个比例因子(通过测量当前的连接数量,如上所述)。 但是当然,如​​果你只logging%T(而不是%D),那么舍入将会破坏你估计的任何准确性(再次说明,除非你的网站速度很慢)。