性能分析思路以及影响性能测试的点
分析思路
- 首先查看负载机是否有瓶颈(如网络方面,硬件)
- 应用,数据库服务器带宽有无丢包情况,有无本身的瓶颈。
- 分析中间件(apache,tomcat)
- 程序部分
- 数据库服务器本身有没有瓶颈,数据库设置有没有问题。
影响系统性能因素:网络(网卡,带宽)、操作系统(内存,cpu,io,硬盘)等硬件因素,中间件,数据库,应用(前后端,业务逻辑),系统架构。
影响系统性能因素:
网络(网卡,带宽)、操作系统(内存,cpu,io,硬盘)等硬件因素,中间件,数据库,应用(前后端,业务逻辑),系统架构。
-
首先查看负载机是否有瓶颈(如网络方面,硬件。操作系统分析方向:先看磁盘队列,cpu没有问题看内存(物理内存,虚拟内存),内存没有问题看io。)
关系:Cpu进程等待—内存增加----物理内存不够用,使用虚拟内存,虚拟内存增加—磁盘io开销增加(物理内存,虚拟内存切换都需要系统sys ,cpu调度,分配给usr时间片的时间就减少了)—cpu开销增加(划分更多的cpu是时间片进行进程的切换,缺页的处理)- 容易出现网络带宽瓶颈:频繁大量上传下载项目如视频网站。
- 容易出现Cpu:邮件服务器瓶颈:动态web服务器,需要大量的计算,消耗cpu会比较多。
- 容易出现内存瓶颈:打印服务器,数据库服务器,静态web服务器
- 容易出现磁盘Io瓶颈:频繁读写操作的项目。
-
应用,数据库服务器带宽有无丢包情况,有无本身的瓶颈。
-
分析中间件(apache,tomcat)。中间件的线程配置(apache,tomcat,nginx)。配置中最大值,最小值,超时时间的设置。线程调大后(如最大连接设置为2000),消耗系统内存增大。
-
程序部分。
页面简化,表单压缩,局部刷新,仅取所需,减少不必要请求,逻辑清淅,谨慎继承,程序算法优化,延迟加载,防止内存泄露,减少大对库调优思路:app层:减少对数据库的操作次数。用数据库操作,不要用程序进行,减小网络开销。 Db:sql优化,管理事务锁,不要出现死锁。Mem层:高速缓存,共享内存池,排序,缓存。磁盘:尽可能用索引,但是索引也不是万能的:对小表,update,delete比较频繁的不用索引,索引需要占用物理空间。防止争用死锁
-
数据库服务器本身有没有瓶颈,数据库设置有没有问题。
PS: 一起进步,一起学废!
519





