扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
杨海春,曾在从兴技术有限公司担任主要设计开发岗,熟悉移动计费系统整体系统架构。目前就职于腾讯计算机系统有限公司,担任工程师职位,熟悉日志计费系统,离线计算等场景。
在东港等地区,都构建了全面的区域性战略布局,加强发展的系统性、市场前瞻性、产品创新能力,以专注、极致的服务理念,为客户提供网站建设、成都网站建设 网站设计制作定制网站设计,公司网站建设,企业网站建设,高端网站设计,营销型网站建设,外贸网站制作,东港网站建设费用合理。
软件系统跑在机器上,处理能力受硬件制约,所以,单机处理能力会有上限。评估机器处理能力的上限,检查程序的瓶颈在哪,有助于程序性能分析。
主要的几大硬件:CPU、内存、网络、磁盘。本文主要结合本人经验介绍这几大硬件的性能评估工具。
vmstat 1 10
第一个参数:采样频率
第二个参数:采样次数
结果参数:
--procs--
r:运行和等待CPU时间片的进程数
b:等待资源的进程数。如等待网络I/O
如果r值长期大于CPU的个数, 则CPU遇到瓶颈
--cpu--
us:用户进程消耗CPU时间百分比
sy :内核进程消耗的CPU时间百分比
如上图,跑了几个耗cpu的程序,发现us长期接近100,cpu已经跑满了。这个时候,可能需要考虑优化应用服务算法了。
一般:如果us长时间大于50,需要考虑优化程序算法等。
sy + us > 80
可能存在CPU瓶颈了
举例:sar -u 1 5
%idle
值高,表示CPU较空闲。
如果idle值持续低于10,表示系统中目前的瓶颈在CPU。
如上图,CPU已经达到瓶颈了。
举例:free –g or free –m
-g:以GB为单位查看
-m:以MB为单位查看
关注第二行:
-buffers/cache=Mem行:used-buffers-cached
+buffers/cache=Mem行:free+buffers+cached
一般第二行 +buffers/cache
表示应用程序可使用的内存。
cached里的内容,一般可以释放给应用程序使用。
释放cached里的内存,看是否可用:
echo 3 > /proc/sys/vm/drop_caches
再查看内存:
发现末完全释放,只释放了一部分。(与上面的图比较)
检查:发现部分共享内存占用,无法释放,应用程序也就无法使用这部分了。
删除目前没有使用的共享内存:
ipcs -m | awk '$6 == 0 {system("ipcrm -m "$2)}'
再执行
echo 3 > /proc/sys/vm/drop_caches
再执行
free –m
cached里的内存又释放了一些。
剩下的,部分的共享内存,应用程序正常使用,无法释放。
所以,真正可用的内存,应该是 2400M左右。
还可以使用cat /proc/meminfo
查看
举例:
iostat -d -x -k 1 10
-d 表示,显示设备(磁盘)使用状态
-x将用于显示和io相关的扩展数据
-k某些使用block为单位的列强制使用Kilobytes为单位
await I/O
请求的平均等待时间,单位毫秒;值越小,性能越好;
svctm I/O
请求的平均服务时间,单位毫秒
%util
统计时间内有百分几的时间用于I/O操作。接近100,表示磁盘已经接近满负荷运行了。
如上图,如果await时间远大于svctm,表示等待I/O队列的时候太大,磁盘已经达到瓶颈了。
举例:
sar –d 1 10
avwait:队列占满时传送请求等待队列空闲的平均时间。
avserv:完成传送请求所需平均时间(毫秒)。
%util
: 100磁盘已经繁忙了。
看写入速度,100多M每秒。要提高写入速度,可以换更快的盘。
举例:
ss -a -tp -s|grep agent
ss –s
查看现有连接数等:
常用选项:
-a 显示所有的sockets
-l 显示正在监听的
-n 显示数字IP和端口,不通过域名服务器
-p 显示使用socket的对应的程序
-s 打印出统计信息。
举例:
top
%us:指的是cpu用在用户态程序上的时间;
%sy:指的是cpu用在内核态程序上的时间;
%ni:指的是用在nice优先级调整过的用户态程序上的时间;
%id:指的是cpu空闲时间;
load average:
任务队列的平均长度
1分钟、5分钟、15分钟前到现在平均值
三个值长时间大于CPU核数的话,表示机器很繁忙。上图开了8个耗CPU程序,可以发现,1分钟均值已经越过CPU个数(机器CPU个数为8核)
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流