性能问题诊断和分析
我们在分析和诊断性能问题时可以从三个方面入手:
-
通信过程,也就是网路通信的过程。可以从下面三个角度分析诊断
-
通过域名解析,查看DNS、端口映射等。
-
通过连接建立,了解TCP、UDP等。
-
通过数据传输查看HTTP、Telnet等
-
-
计算过程,像处理器计算,多线程并发控制和作业调度。可以从三个角度去切入
-
客户端层面,包括个人终端设备、浏览器、客户端程序。
-
网络安全层面,包括负载均衡、路由器、交换机、防火墙、网闸这些方面。
-
服务器层面,包括服务器设备、Web服务器、应用服务器、数据库服务器等
-
-
存储过程,内存、磁盘等存储设备输入输出。
-
内存数据的读写
-
本地磁盘数据的读写
-
网络存储数据的读写。
-
性能问题分类
性能问题有三个分类标准:
-
质量特性,根据质量特性我们可以将性能问题大致分为一下三类:
-
效率:处理时间、资源占用、吞吐量
-
可靠性:无故障率、自动回复、容错性
-
功能:正确性、可用性
-
-
问题位置,根据性能问题发现的位置我们大致可以分为:
-
基础设施:网络设备、安全设备、服务器设备、存储设备
-
软件:操作系统、数据库、中间件、程序运行环境、应用程序
-
业务、业务架构、业务逻辑
-
-
问题级别。根据发现的性能问题的级别我们可以分为:
-
非常严重:系统崩溃、数据丢失
-
严重:响应时间过长、处理失败率高、资源不足
-
轻微:响应时间较长、有部分失败率
-