当前位置 : 主页 > 网络安全 > 测试自动化 >

性能调优

来源:互联网 收集:自由互联 发布时间:2021-06-22
---恢复内容开始--- 类型: 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是因为还有服务在进行缓存。

 

 

 

 

 

 

 

 

 

 

 

 

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

上一篇:本地缓存Caffeine
下一篇:gopl 测试
网友评论