
信息技术
LINUX服务器性能分析与优化
刘兵舒伟
(中国电子科技集团第二十八研究所,江苏南京210007)
·157·
摘要:为使应用在系统上以最优的状态运行,最主要的工作是优化系统配置,性能经过优化的服务器能够使服务器在硬件和软件上运行更加顺畅,操作系统运行更加稳定,应用程序造行更加高效。本文从从影响Linux服务器性能的固素和在此基础上如何优化着手进行阐述
关键词:CPU;内存;I/O性能;内核参数:文件系统
随着IT不断的快速发展,服务器的软硬件都在日新月异的进
所以合理使用内存,定时对内存进行清理也是提高服务器性能必不
行发展,服务器的软件包括操作系统的稳定性和性能成为系统运行效率的决定因素。虽然用户可以使用硬件配置更高的服务器来弥补服务器的性能,但是在更合理的办法是在原有硬件不变的基础上,找我出影响服务器性能低的原因,并对该原因进行分析,并进行合理优化,达到提高服务器性能的目的。
1系统性能分析的目的
1.1找到系统性能的瓶颈。系统的性能包括响应时间、吞吐率、资源使用率及并发的用户数等。Linux系统管理员经常遇到的间题有系统不稳定出现死机、系统资源使用过高如CPU、内存使用率太高导致操作运行过慢,从而使应用软件无法运行或运行缓慢、并发用户数超过了操作系统的最大数的间题。出现这些间题不能指责 Linmux操作系统不行,这只是表面现象,要透过表面现象看实质,应该去分析出现间题的原因,从服务器硬件兼容性是否合理,应用程序自身是否存在bg,网络拓扑、路由及物理线路是否存在间题进行排查,找出间题的症结所在,解决间题来提高服务器的性能
1.2提供性能优化方案。定位影响系统性能的原因需要花费大量的时间和需要做大量的实验,用户要从硬件、网络、操作系统及应用软件等各方面综合进行分析查找,对服务器性能影响最大还是应用软件本身和操作系统的配置这两个方面,因为这两个方面出现的间题不容易定位,而硬件和网络等出现间题.能比较容易定位和复现。一且确定了间题的原因,就要对该间题提出解决方案,如硬件兼容性出现间题,可以换硬件;网络拓扑有间题,可以更改网络拓扑:应用程序出现bhug
要对该程序进行修改和调试;操作系统出现间
题,要修改系统配置和参数。所以只要能定位影响性能的原固,就可以根据原因给出相应的解决方案,从而不断的提高服务器的性能。
1.3使系统硬件和软件资源的使用达到平衡。Limux是开源的操作系统,在此基础上运行了很多开源的软件,常见的有MYSQL、QT、 Tomcal等,服务器要通过在Linux平台上通过开源软件的支持,使应用程序达到最优。所以要使模作系统的性能达到最优就要在一定范围内使系统的各项资源如CPU、内存、存储等达到一个平衡的状态,只要各项资源使用达到了平衡,才不会使某一个资源过度使用,导致系统负载太高或响应时间过长,使系统性能下降。因此系统性能的优化就是要在服务器硬件、操作系统本身、应用软件之间找到个平衡点,
2影响Linux服务器性能的各种因素
2.1CPU。CPU是计算机的核心,是操作系统稳定运行的基础,它的运算能力和性能在很大程度上解决了服务器的性能,因此服务
可少的手段
2.3服务器1/0性能。服务器的1/0和春吐率直接影响系统的性能,由于服务器通常会保存大量的数据,同时服务器需要将数据提供给应用程序,所以服务器系统需要支持更多数量的1/0以及更为复杂的拓扑结构。现今服务器中磁盘可配置数千个磁盘,并提供多条到达磁盘的路径,大大提高了I/O的性能
2.4网络带宽。Linux运行的各个应用程序,在运行过程中一般需要依靠网络进行数据交互,因此网络带宽也是影响服务器性能的一个重要因素,如果网络带宽不够或网络不稳定,会之间导致应用程序运行的结果,严重时会使应用程序出现错误甚至崩溃,所以保证网络的稳定可靠是关键。现在网络一般是千兆网或光纤网,带宽基本上不是间题,主要要保证网络稳定可靠
2.5系统安装。操作系统优化要从操作系统的安装开始,安装操作系统时,磁盘分区的划分,包括BOOT区、根分区、SWAP区都直接影响系统的运行性能,例如SWAP区一股要分内存2借以上的空间才比较合理,根分区要尽量开大,对于数据安全性要求比较高的系统,可以把两块磁盘做成镜像模式,两块磁盘互为备份,即使坏了一块硬盘,也不影响操作系统的运行;对数据存储来说,如果有多块硬盘可以选择RAID5.六块硬盘五备一的模式,坏掉一块也没用关系,保证数据的可靠性。通过不同的应用需求和磁盘的多少来设置 RAID的级别,对磁盘进行优化来提高系统性能。
2.6内核参数。操作系统安装完毕后,就可以对系统内核参数进行配置,达到优化的效果,不过内核参数要和系统中运行的应用软件结合起来进行配置。例如系统配置的是MYSQL数据库应用,那么就需要对系统共享内存、系统信号量、文件句柄等参数进行优化设置;如果运行的是Web应用程序,那么就要根据Web应用特性对网络参数的优化
2.7文件系统。文件系统的优化也是提高服务器性能的重点,在 Linux下可选的文件系统有ext3exi4、ReiserFS等,不同的文件系统有各自的特性,管理员可以根据不同的需求,选择适合的文件系统,
3工程应用实践
3.1网络优化。TCP/IP调优参数都位于/proc/sys/net/目录。最重要的一些调优参数如下:
a.nel.core.mem_default =513920 /接收窗口的默认值 h.nel.core.mem_max=513920 /接收窗口的最大值 c.nel.core.wmem_default=513920 /发送窗口的联认值 d.net.core.wmem_max=513920/发送窗口的最大值
e.net.ipv4.tcp_timestamps=1/时间截是否在TCP的包头增加
器配置时都会以多CPU、主频高为原则,当然不可否认主频越高,运算能力越强,服务器性能也会相对越高,但这是某一方面,现在的大
:12个字节标志
部分的CPU在同一时刻只能运行单个线程,超线程的CPU可以在同一时刻运行多个线程,利用CPU的超线程来提高系统的性能是个不错的选择,
2.2内存。影响Linux操作系统性能的一个重要因素是内存,内存小,系统的应用进程将被阻塞,内存不够时操作系统会使用 SWAP区或硬盘上的虚拟内存,使应用程序的读写能力大大变设,甚至使程序没有反应或异常期溃。当然现在服务器的配置的内存越来越大,好像内存过小的间题已经不是间题,但是在系统运行过程
f.neL.ipw4.tcp_sack =0 /有选择的应答
g.net.ipv4.icp_window_sealing = 0 /支持更大的 TCP 窗口,TCP 窗口最大超过64K,必须设置该参数为1
/proe目录下的所有内容都是临时性的,操作系统重启后会丢
失,
变成款认值,如果想永久更改以上参数的话,必须修改/etc/sysctl.conf文件中相应的内容。
3.2文件系统的优化
a.可以使用hdparm工具来提高磁盘I/O的性能,优化磁盘性能:
中特别是运行很长一段时间后发现应用程序占的内存会越来越多,#/shin/hdpam-x66-dl-ul-m16-c3/dev/hda,命令(转下页)