---恢复内容开始--- 类型: 1、cpu密集型 例如web服务器像nginx,需要cpu进行进行计算 2、io密集型 例如数据库常见的mysql,大量消耗内存和存储系统,对cpu和网络要求不高,这种应用使用
---恢复内容开始---
类型:
1、cpu密集型
例如web服务器像nginx,需要cpu进行进行计算
2、io密集型
例如数据库常见的mysql,大量消耗内存和存储系统,对cpu和网络要求不高,这种应用使用cpu来发起io请求,然后进入sleep状态。
确定了应用类型就开始分析有哪些情况能影响性能。
1、大量的网页请求会填满运行队列,大量的上下文切换,中断。
2、大量的磁盘写请求
3、网卡大量的吞吐
4、以及内存耗尽等。
归结起来就是4个方面
cpu
memory
i/o
network
cpu性能:
lscpu查看cpu信息
1级缓存为静态缓存:分为数据缓存和指令缓存
2级缓存和3级缓存为动态缓存,其中2级缓存为共享缓存。
cpu亲和性:绑定cpu核
命令:taskset
将进程绑定到cpu核上。
命令:taskset -pc 0 7791
cpu需要观测的性能点:
1:us 60%-70%
2:sy 30%-35%
3:id 0%-5%
cs上下文切换
1、cs和cpu的利用率相关,如果能保持上面所说的利用率大量的切换可以接受
运行队列
1、小于等于4最好
内存分析及调优
当在Linux下频繁存取文件后,物理内存会很快被用光,当程序结束后,内存不会被正常释放,而是一直作为caching。
free命令:查看内存相关信息
命令:free -m 用M为单位显示内存大小。
清除缓存内存数:
命令:echo 3 >/proc/sys/vm/drop_caches 默认:/proc/sys/vm/drop_caches中值为0。
改成3后,free命令中cache值会变小。没有清为0是因为还有服务在进行缓存。
---恢复内容结束---