高性能Mysql:服务器性能剖析

来源:互联网 发布:中国科学院科学数据库 编辑:程序博客网 时间:2024/05/17 23:34

1、如何确认服务器是否达到了最佳性能状态
2、找出某条SQL语句为什么不够快
3、间歇性疑难故障
解决方案就是测量服务器的时间花费在哪里?使用的技术则是性能剖析(profiling)
性能的定义是完成某个任务所花费的时间,数据库的目的是执行SQL语句。
什么是优化?
降低CPU利用率?不是,资源是用来消耗并用来工作的,所以有时候消耗更多资源能够加快查询速度。有些时候不能有效利用索引导致CPU利用率上升。CPU利用率只是一种现象,而不是很好的可度量的目标。

提升每秒查询量?不是,这其实是吞吐量。吞吐量的提升可以看做是性能优化的副产品。对查询的优化可以让服务器每秒执行更多的查询。

我们的优化方式是测量,测量响应时间花在哪里??测出时间花在哪里和知道为什么花在那里,是两码事?

完成一项任务的时间分成两部分:执行时间和等待时间,如果优化任务的执行时间,最好的方法是通过测量定位不同的子任务花费的时间,然后优化去掉一些子任务、降低子任务的执行频率或者提升子任务的效率。
优化任务的等待时间比较复杂,任务之间可能由于争抢磁盘和CPU资源而互相影响。二者在诊断是需要不同的技术。

测量的结果经常都是错的,这种错误可能很小,跟实际情况区别不大,但错的终归是错的。

性能剖析是测量和分析时间花在哪里的主要方法,一般有两个步骤:测量任务所花费的时间;然后对结果进行统计和排序,将重要的任务排在前面

原创粉丝点击