【问题标题】:Convert sysbench cumulative summary to csv将 sysbench 累积摘要转换为 csv
【发布时间】:2020-10-05 08:09:35
【问题描述】:
我正在尝试使用 sysbench 累积输出创建图表,以便比较不同基准测试的结果。
到目前为止,已经能够使用 lua 脚本中的钩子生成带有中间统计信息的 csv 文件。我无法对累积结果做同样的事情,所以我尝试通过使用sed 和awk 解析结果来做到这一点,但它看起来非常耗时。
有人可以帮我解决这个问题吗?我正在使用sysbench 1.0.20
非常感谢
詹卢卡
【问题讨论】:
标签:
mysql
awk
sed
mariadb
sysbench
【解决方案1】:
您不必解析输出。在 sysbench 支持 CSV 报告之前,我很久以前就这样做了,这很困难且容易出错。
现在,您可以让 sysbench 生成 CSV 输出,而不是格式化的“人类可读”摘要。
这是我对当前版本的 sysbench 所做的:
复制其中一个 sysbench 脚本,例如 oltp_read_only.lua。在编辑器中打开它。
添加这些行:
function report_noop()
-- do nothing
end
sysbench.hooks.report_intermediate = sysbench.report_csv
sysbench.hooks.report_cumulative = report_noop
现在,当我将自定义的 lua 脚本作为 sysbench 的参数运行时,它会为每次迭代输出文本行,并且在报告结束时没有输出。
【讨论】:
-
嗨,比尔,感谢您的支持。我自己也做了同样的事情,但我发现如果你总结中间 csv 输出,你得到的结果与累积的“人类可读”输出不同,有时是不可忽略的百分比。这就是为什么我要解析累积输出。它看起来更可靠。顺便说一句,我通过查看 George Liu 的 work 完成了它