首页 > 其他 > 详细

性能调优

时间:2019-05-19 17:06:44      阅读:114      评论:0      收藏:0      [点我收藏+]

---恢复内容开始---

类型:

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是因为还有服务在进行缓存。

 

 

 

 

 

 

 

 

 

 

 

 

---恢复内容结束---

性能调优

原文:https://www.cnblogs.com/mython/p/10889686.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!