数据库性能如何衡量?
对于数据库我们会进行一些优化的措施的实施,然后我们会通过性能测量工具进行测试,但是我们对性能该怎么认识,如何对性能有一定的认识和把握。例如什么叫快,什么叫坏
我想性能是多方面的,也是有多方面因素决定的。
1、数据库所运行的环境:包括服务器的OS,硬件(CPU,Memory,Hard Disk,Network),这里有个关键的是Hard Disk,这个关系到IO的问题;OS的选择,是Linux,还是Window,或者还有Unix等。
2、数据库的类型:这个问题有点难度,是关系,还是其他之类的,但是一般都是有关系数据库了。
3、数据库的种类:这个也是关键,你是要MySQL,Oracle,还是DB2,SQLServer。
4、数据库的结构:就是设计数据库的体系结构,表的关系,如何优化表结构,对索引的使用技巧。
5、数据库的SQL语句:SQL语句是否有效的进行了优化。
6、数据库的配置管理:这个对于DBA来说,很是关键,如何进行有效的配置,管理,以至得到好的性能,这个往往很靠经验,这也是为什么DBA越来越吃香的问题了。
7、应用程序的设计:这个是程序员要重点关心的事了,数据库连接的维护(是否有必要实现连接池),数据库操作的方式,对数据的操作方式等等。
一个应用系统,各种角色关系的对象不一样,所能认识到的程度也不一样,对上面的一些问题,对于系统架构师,设计师的考验很大,不管是硬件,还是软件,都要熟悉。结合自己开发的应用系统的实际情况,选择适当的方式,(这里的适当,什么叫适当呀)。
性能指标有:吞吐量,响应时间。还有OS的指标:CPU平均利用率,内存平均占用率,硬盘占有率,I/O数量,网络延迟等。
对于如何把握这些性能,衡量,以及上述的那些因素如何把握,望高手指教。