Pav*_*uva 5 log-files logparser
我怎样才能得到这个图:

(来自加速 StackExchange)
它显示了超过 N 秒的 Web 请求百分比。我安装了 IIS 日志和 LogParser,但不确定如何继续。
这是使用 LogParser 和 Excel 执行此操作的方法:
步骤 1创建以下查询并将其另存为“Timetaken graph.sql”:
SELECT QUANTIZE(time-taken, 100) AS t, COUNT(*) as count
INTO 'Time-taken-graph.csv'
FROM u_ex*.log GROUP BY t
Run Code Online (Sandbox Code Playgroud)
步骤 2运行查询并将结果导出到 CSV 文件:
LogParser.exe file:"Time taken graph.sql"
Run Code Online (Sandbox Code Playgroud)
步骤 3在 Excel 中打开 CSV 文件。我将使用 Excel 2010 作为示例。
假设您的数据位于 A1:B401 范围内:

将“时间”放在 D1 单元格中。在 E1 单元格中输入“百分比”。在 D 列中填充时间从 0 到 5 的系列,步长为 0.1:

步骤 4将以下公式放入 E2 单元格中(您需要将 401 替换为您的值):
=SUMIF($A$2:$A$401,">="&D2*1000,$B$2:$B$401)/SUM($B$2:$B$401)
Run Code Online (Sandbox Code Playgroud)

将公式复制到 E 列中具有相应时间值的所有单元格。按 Ctrl+Shift+% 将样式设置为百分比

Step 5最后,根据D列和C列的数据构建折线图:

我编写了一个 python 程序来使用负载均衡器生成的日志来生成该图,并使用flot来绘制实际的图。
在决定使用该图之前,我进行了几次迭代:
我从散点图(响应时间与一天中的时间)开始,它本身就提供了丰富的信息,有助于很好地了解流量的形状和变化,即使它对沟通不是特别有利。
然后我尝试了直方图,由于方差很高,它并不是特别有用。
最后我得到了这个基于直方图的结果,但它是累积的和倒置的。
我会发布代码,但它对于我正在做的事情来说是如此具体,它不会对任何人有帮助。这是核心函数的近似值:
def point(times, cutoff):
"""
times: sorted list of response times
0 <= cutoff < 1
"""
size = int(len(times) * cutoff)
return (times[cutoff], 1 - cutoff)
Run Code Online (Sandbox Code Playgroud)
然后,您可以使用您最喜欢的绘图库将(x, y)坐标绘制为截止范围[0,1[。
| 归档时间: |
|
| 查看次数: |
4609 次 |
| 最近记录: |