如何查看linux服务器负载
做压力测试的时候想看看Linux服务器当前负载如何,性能怎样,可以使用下面这些命令
uptime
显示当前用户数,以及最近1
分钟内、5分钟内、15
分钟内系统的平均负载
cat
/proc/loadavg
用于显示系统1秒钟平均负载、5秒钟平均负载、15秒钟平均负载、总作业数、正在运行的作业总数
cat
/proc/stat
这个显示的内容较多,具体的就不一一列举了,需要的朋友可以自己查阅相关资料
如果是web服务器,用到程序与数据库交互的服务器,您报出的硬件配置,负载6以内可以稳定运行,负载12以内可以正常运行,负载高于15运行吃力,负载18以上明显感觉变慢,更高可能就运行出错了。我指的是一般情况下。
如果是特殊情况,内部机制导致的服务宕机假死,那么负载值的呈现可能不高的,但是有问题的服务已经不能正常工作了,需要重启这个服务,一旦重启这个假死的服务进程,系统负载就会立刻随之升高,因为可能随着重启这个服务进程之后,服务突然能响应了堆积的并发请求,导致突发性升高,然后可能迅速降低负载。 所以负载是表示系统的综合运行载荷,不完全是cpu的占用率。 在linux系统里,几种情况都可以导致负载高:1系统进程占用时间过长 2应用程序的进程占用cpu时间过长 3磁盘读写I/O的进程占用cpu的时间过长。 是否稳定运行,不能单单以负载值作为评估标准,只能作为大概的参考。负载高的原因要从我之前说的3个原因方面去查,查到了问题后,就可以改进改善,从而实现稳定运行。
其实有很多特例的,据我所知,某些大型的知名网站服务器原来采用lamp架构的,在负载100以上都能正常运行,这么高的负载其实在某些情况下特别是大规模并发情况下,只要把控好软硬件的协作关系,照样可以正常运作。
我从事linux网站运维数年了,希望我的回答你能满意。
服务器负载压力过大,解决办法一般从2个方面着手:
1、硬件方面,可以提升服务器的硬件性能,提升服务器的处理能力;
2、软件方面,通过对软件进行一些软件的优化配置,相对提升软件的效率来降低负载。
注:当然上述是以单服务器来考虑,如果多节点的话,可以扩大集群的节点数做一些负载均衡的配置来降低单服务器负载压力过大的问题。
LVS共有三种模式,优缺点比较如下:
NAT模式
优点:集群中的物理服务器可以使用任何支持TCP/IP操作系统,物理服务器可以分配Internet的保留私有地址,只有负载均衡器需要一个合法的IP地址。
不足:扩展性有限。当服务器节点(普通PC服务器)数据增长到20个或更多时,负载均衡器将成为整个系统的瓶颈,因为所有的请求包和应答包都需要经过负载均衡器再生。假使TCP包的平均长度是536字节的话,平均包再生延迟时间大约为60us(在Pentium处理器上计算的,采用更快的处理器将使得这个延迟时间变短),负载均衡器的最大容许能力为893M/s,假定每台物理服务器的平台容许能力为400K/s来计算,负责均衡器能为22台物理服务器计算。
TUN模式
我们发现,许多Internet服务(例如WEB服务器)的请求包很短小,而应答包通常很大。
优点:负载均衡器只负责将请求包分发给物理服务器,而物理服务器将应答包直接发给用户。所以,负载均衡器能处理很巨大的请求量,这种方式,一台负载均衡能为超过100台的物理服务器服务,负载均衡器不再是系统的瓶颈。使用VS-TUN方式,如果你的负载均衡器拥有100M的全双工网卡的话,就能使得整个Virtual Server能达到1G的吞吐量。
不足:但是,这种方式需要所有的服务器支持”IP Tunneling”(IP Encapsulation)协议,我仅在Linux系统上实现了这个,如果你能让其它操作系统支持,还在探索之中。
DR模式
优点:和VS-TUN一样,负载均衡器也只是分发请求,应答包通过单独的路由方法返回给客户端。与VS-TUN相比,VS-DR这种实现方式不需要隧道结构,因此可以使用大多数操作系统做为物理服务器,其中包括:Linux 2036、229、2210、2212;Solaris 251、26、27;FreeBSD 31、32、33;NT40无需打补丁;IRIX 65;HPUX11等。
不足:要求负载均衡器的网卡必须与物理网卡在一个物理段上
0条评论