性能调优
合适的CPU OLAP是CPU密集型操作,OLTP是IO密集型操作。InnoDB一般应用于OLTP的DB应用(并发大、处理时间短、语句简单)。64位的CPU可以获取更多内存。
内存 InnoDB既缓存数据,又缓存索引,并将其缓存于一个很大的缓冲池中。可以通过STATUS比较物理磁盘的读取和内存读取的比例来判断缓冲池的命中率,InnoDB缓冲池命中率应不小于99%。
命中率=innodb_buffer_pool_read_requests / (innodb_buffer_pool_read_requests
+ innodb_buffer_pool_read_ahead + innodb_buffer_pool_reads)
平均每次读取的字节数= innodb_data_read / innodb_data_reads
注:innodb_buffer_pool_read_requests:从缓冲池中读取页的次数
Innodb_buffer_pool_read_ahead:预读的次数
Innodb_buffer_pool_reads:从磁盘读取页的次数
Innodb_data_read:读入的字节数
Innodb_data_reads:发起读取请求的次数,每次读取可能需要读取多个页
硬盘
机械硬盘的指标:寻道时间及转速。硬盘的访问耗时主要在磁头旋转和定位,故顺序访问的速度远远高于随机访问。
固态硬盘可以提供一致的随机访问时间,访问延迟一般小于0.1ms左右。
合理设置RAID
RAID 0 条带;RAID 1 镜像;RAID 5 把数据和校验信息存储在各个磁盘上
RAID 10 先镜像后条带;RAID 01先条带后镜像。RAID
10是最好的选择。
RAID Write Back指RAID控制器能将写入的数据放入自身缓存中,并把它们安排到后面执行。提高了写速度,但是系统意外时可能会破坏数据库的数据。
OS:主要是稳定性。
文件系统
合适的基准测试工具
Sysbench:测试不同系统参数下的数据库负载情况,包括:CPU性能,磁盘IO性能,调度程序性能,内存分配及传输速度,POSIX线程性能及数据库OLTP基准测试。InnoDB更关注磁盘IO和OLTP的性能。 Tpcc-mysql遵循TPC-C标准的测试工具,由tpcc_load(根据仓库数量生产9张表中的数据)和tpcc_start(根据不同选项进行tpcc测试)组成。
合理的数据库监控策略 注:如涉及版权或其他问题,请联系本人。谢谢! (如果感觉这些对自己的mysql知识提高有所帮助,强烈建议购买此书;书中有更多的事例和作者精彩的讲解,是目前mysql相关图书中一本难得的精品图书。在此非常感谢作者辛勤的工作!)
|