操作系统性能分析介绍
(1)用户响应时间(RT) = 服务器响应时间+网络时间
(2)系统完成一次请求或者响应任务时,还与硬件设备、系统设计、网络拓补图,内部网络链接设备如交换机、路由器等接入设备,以及路由的处理策略,网线线路等多方面有关。当系统出问题时,我们需要从应用程序、操作程序、操作系统、服务器设备、网络环节、系统资源等多方面综合排查,定位分析问题,然后几种解决问题。
系统性能分析思路
(1)总体来说,我们会从一下几块来分析系统性能:整体系统CPU利用率、内存利用率、磁盘I/O的利用率和延迟、网络利用率
2.1 系统性能分析因素-CPU
(1)在做系统性能分析前,首先我们要了解系统处理器的情况,如逻辑处理器、 处理器型号、主频率、cache大小、是否支持超线程技术等信息。
(2)除此之外,CPU的使用率也是我们需要关注的指标。
2.2 系统性能分析因素-内存
(1)在系统性能因素中,内存的大小也是影响系统性能的一个非常核心的指标。当可用的内存太小,系统进程会被阻塞中,应用也将会变得非常缓慢,有时候会失去响应,严重的可能会触发系统的OOM(内存溢出)从而引起应用程序被系统给杀死,更严重的可能会引起系统重启。
(2)虚拟内存也是在内存里面我们需要考虑的性能指标。虚拟内存一般设置为物理内存的两倍。(也要根据实际情况)
2.3 系统性能分析因素-网络
(1)系统应用之间的交互,尤其是跨机器之间的,都是要基于网络的,因为网络带宽、响应时间、网络延迟、阻塞等都是影响系统性能的因素。
2.4 系统性能分析因素-I/O
(1)访问应用离不开系统磁盘数据的读写,I/O读写的性能直接会影响系统程序的性能。针对I/O场景模型,我们要考虑的有IO的TPS、评价I/O数据、平均队列长度、平均服务时间、评价等待时间、IO利用率(磁盘的Busy Time%)等指标。
2.5 系统性能分析因素-总结
(1)很多时候,一些系统因素之间是相互依赖的,任何一个处于高负载状态,都可能导致其他的资源受到影响。所以,在我们进行系统性能分析的时候,要确定系统所对应的应用类型:IO Bound(IO 范畴)就是一个大量数据处理的过程,比如数据库软件。CPU Bound(CPU 范畴)一般都是高负荷的CPU占用,比如 web server。不管什么范畴,系统分析思路就两种:自顶向下和有底向上。
3. 瓶颈阈值分析思维导图与手册
(1)CPU定位分析
(2)内存定位分析
(3)网络定位分析
为了减少网络的影响,一般都在局域网中测试。
(4)I/O定位分析
4. Linux系统性能分析思路与实践
待续。。。
5. Windows系统性能分析思路与实践
(1)性能监视器(performance,查看实时的性能数据) 和 资源监视器(resmon.exe,用于了解进程和服务如何使用系统资源)。
6. Tomcat监控之Probe
7. Mysql监控之MONyog
8.监控JVM