基准测试的策略
基准测试有两种主要的策略一是针对整个系统的整体测试另外是单独测试MySQL这两种策略也被称为集成式(fullstack)以及单组件式(singlecomponent)基准测试
针对整个系统做集成式测试而不是单独测试MySQL 的原因主要有以下几点
测试整个应用系统包括Web 服务器y 应用代码网络和数据库是非常有用的因为用户关注的并不仅仅是MySQL 本身的性能而是应用整体的性能
MySQL 并非总是应用的瓶颈通过整体的测试可以揭示这一点
只有对应用做整体测试才能发现各部分之间的缓存带来的影响
整体应用的集成式测试更能揭示应用的真实表现而单独组件的测试很难做到这一点
另外一方面应用的整体基准测试很难建立甚至很难正确设置如果基准测试的设计有问题那么结果就无法反映真实的情况从而基于此做的决策也就可能是错误的
不过有时候不需要了解整个应用的情况而只需要关注MySQL 的性能至少在项目初期可以这样做基于以下情况可以选择只测试MySQL :
需要比较不同的schema 或查询的性能
针对应用中某个具体问题的测试
为了避免漫长的基准测试可以通过一个短期的基准测试做快速的周期循环来检测出某些调整后的效果
另外如果能够在真实的数据集上执行重复的查询那么针对MySQL 的基准测试也是有用的但是数据本身和数据集的大小都应该是真实的如果可能可以采用生产环境的数据快照
不幸的是设置一个基于真实数据的基准测试复杂而且耗时如果能得到一份生产数据集的拷贝当然很幸运但这通常不太可能比如要测试的是一个刚开发的新应用它只有很少的用户和数据如果想测试该应用在规模扩张到很大以后的性能表现就只能通过模拟大量的数据和压力来进行
返回目录高性能MySQL
编辑推荐
ASP NET开发培训视频教程
数据仓库与数据挖掘培训视频教程
Oracle索引技术