性能相关的服务请求:是否达到性能最佳;为什么执行不快;用户描述的卡顿、堆积、卡死,间歇性的;
性能相关的问题:每秒查询次数;CPU利用率;可扩展性;不同的场景理解不同
正确来讲:性能即响应时间,非常重要的原则;
数据库服务器目的:执行SQL语句(SELECT,UPDATE,DELTET等)
CPU利用率不是性能优化可度量的目标(myIsam升级成InnoDB,会导致cpu利用率提高,响应时间短了)
性能优化不能看成是提升每秒查询量(吞吐量的优化,这是性能优化的副产品)
吞吐量的定义:单位时间的查询数量,对性能定义的倒数。
所以优化的目标是降低响应时间:先确认时间花在什么地方多;然后要明白为什么花在那里;(前提条件需要合适的测量范围)
性能瓶颈很多影响因素:
- 外部资源,比如调用了外部的web服务或者搜索引擎
- 应用需要处理大量的数据,比如分析一个超大的xml文件
- 使用了低效的算法,暴力搜索算法(naive search algorrithm)来查找表中的项
性能测试工具:
- New Relic