记一次linux服务器性能优化【分析篇】

前段时间服务器出现了一个奇怪的现象,一台配置不错的服务器,HP DL385 G7 (64G内存,2颗十二核CPU,连着一台存储)系统负载不规律的每过一段时间就非常高,高的时候维持在四五十,而这个时候呢,通过各种命令(top、vmstat、iostat、ifstat、sar)查看,各项资源都比较闲,一时间摸不着头脑。
 
    系统资源没问题,只能从服务着手了,这台服务器主要跑nis和nfs服务,nis服务只是提供网络用户,因为这个服务导致负载升高的可能性不高,首先就想到nfs了。
    首先介绍下服务器的环境,这台服务器通过nfs将存储上的数据共享给客户端服务器,开发人员在客户端服务器上工作,开发团队大概有100人。由于开发人员多,项目也多,完全有可能因为nfs服务的性能瓶颈影响系统性能。
    记得曾经跟红帽售后提过一个问题,大概是:我nfs服务器要接受好几台客户端服务器的挂载,而且研发人员也多,负载高的话,nfs服务会不会受不了。当时售后给我的答复是“没关系,只要把nfs进程数调大来就可以了”,如此淡定的回答让我信服了。不过这个时候我nfs服务器进程已经调到80个进程了,难道还不够?于是把进程数改到160个,重启nfs服务,观察了一段时间,服务器负载降下来了,到现在再也没出现类似负载高的情况。
    其实像这样规模的开发环境就不应该用一台服务器安装linux系统搭建nfs服务来共享文件,这样性能也不怎么好,而应该直接用一台中高端的存储设备,用存储自带的nfs共享功能,这样性能比系统搭建出来的nfs性能要好,这也是当初环境搭建方案的一个败笔。
调整nfs进程方法:
  1. [root@server2 ~]# vim /etc/init.d/nfs
  2. # Number of servers to be started by default
  3. [ -z "$RPCNFSDCOUNT" ] && RPCNFSDCOUNT=8
默认是8个进程,一般在生产服务器上,在系统资源够的情况下,可以按照一颗CPU 8个nfs进程来算,我24颗CPU 160个进程也比较合理。如果有某个系统资源成瓶颈的时候,就要适当减少nfs进程数,否则也有可能因为nfs进程过多导致负载升高。
    在网上有看到过一些帖子,有人问服务器CPU、内存、网络、IO都很闲,为什么负载居高不下呢,有个人回复到:“楼主服务器是不是跑的nfs服务?”,但是这个人没有回复怎么解决,也许他也遇到了类似的问题也没解决。我想说的是在查找性能瓶颈的时候,不能只盯着硬件资源看,有些服务本身也是存在瓶颈的,就像本文的问题,我觉得还是有不少人遇到的。
    本来想模拟问题和解决过程的,但是手头没有测试机,虚拟机测试不出来,以后有机会再发个测试篇吧。
http://blog.chinaunix.net/uid-26230811-id-3269445.html
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值