我在网上找了很久,很多 MySQL 性能测试都没有提到他们使用的硬件配置,动不动都是读 1.5w 每秒,写 4000 每秒的,平均响应 10ms 以内。我很好奇这到底什么级别的机器有这种性能。我在自己的机器上测,硬件是 intel g3260 ,内存 8G ,西数 1TB 7200 转硬盘上,使用 MySQL 5.7 ,完全默认配置, Innodb 引擎,使用 Sysbench 测试, 100 个表,每个表 10w 数据的前提下, 8 线程测试,混合读写。连跑 20 分钟。得到的性能平均读只有 1300 每秒,写 300 每秒,平均响应 200ms 。这到底是不是正常的。所谓 MySQL 性能优化,到底能优化到啥程度?
一般来讲,普通的服务器是24核(12核24线程),64G,SATA盘。
近似值:只测试读,绝对可以达到 1.5w 每秒,只测试写,绝对超越 4000 每秒的,平均响应 10ms 以内。这里只是近似值,只写,甚至可以达到1w左右。
我这里单机,业务低峰时,每秒单机数据会是:insert 100,update 100,select 1000+,大多数mysql的rt时间在200us。这是个很低的量。
对于普通个人机器,性能也会相对应下降,但是不至于这么低。
对于一个网站,200ms是rt(单次请求中多次数据库读写+缓存读写+数据处理+内部调用的总时间),而且是比较高的值了。
不考虑测试用例,不考虑业务,单说时间,
先考虑从索引方面优化吧,200ms无论如何都太高了,建议优化到5ms以内,甚至2ms,这是对个人机器最起码的尊重。