我需要估计某个MySQL DB的最大IOP(一个还不存在)。
操作系统是Linux,DB是MySQL 5.1.x (虽然我不认为DB品牌对被问到的主题很重要)
被质疑的表格非常简单。具有某些属性的用户表。主要的查询是:
SELECT * FROM users WHERE username='';我考虑填充一个包含大量记录的表,并使用iostat计算每个查询的IOP平均值。稍后,我可以使用相同的方法来测试SELECT。
这是测量IOPs的一个合理测试吗?还有其他更好的方法来实现这一点吗?
谢谢
发布于 2014-06-25 21:21:17
这比看上去复杂多了。每秒I/O是一件很难确定的事情。仅仅因为文件系统每秒看到这么多I/O,并不意味着MySQL看到了相同的东西--存在I/O缓冲。我想看看MySQL 5.6,特别是P_s(性能模式)(Marc写了P_S (*))。一个SQL SELECT可以从多个表中读取。一个事务可以读写多个表。你在用MyISAM吗?如果您使用的是InnoDB,那么每个表是否使用一个文件(建议使用IMHO) -否则iostat只会给出一个数据库范围的数字。我建议你详细阅读这个话题,并清楚地知道你到底在测量什么。
(*)这个评论显然取决于你是否可以选择升级,但是服务器版本在这个论坛上总是很重要的--那些试图帮助你了解你的系统的人越多,你就能得到更多的帮助。
https://dba.stackexchange.com/questions/69037
复制相似问题