当前位置: 首页 > 科技观察

Linux服务器性能优化

时间:2023-03-13 21:54:58 科技观察

Linux服务器享誉全球。它与Windows的主要区别在于,Linux服务器一般默认不提供GUI(图形用户界面),而是提供命令行界面。它的主要目的是为了高效地处理非交互流程,响应时间并不是那么重要,能够长时间处理高负载才是最关键的。Linux高可用服务器集群解决方案可以让IT系统管理员从容应对很多常见的软硬件故障,让多台计算机协同工作,保证关键服务的正常运行,系统管理员可以在不中断服务的情况下进行维护和升级。Linux服务器用于各种用途,例如Web服务器或内部分支机构服务器、CMS或CRS服务器、文件服务器(适用于Windows和/或Linux用户)、VoIP电话服务器、邮件或域名服务器、数据库服务器、云计算配置基础设施节点等。Linux功能丰富、功能强大且灵活,您可以将其用于各种任务。在本文中,我们将讨论一些提高Linux服务器性能的技巧。1.调整磁盘I/O的Linux内核电梯算法。选择文件系统后,有一些内核和挂载选项可能会影响其性能。内核设置之一是电梯算法。通过调整电梯算法,系统可以平衡低延迟要求,收集足够的数据以高效地组织对磁盘的读写请求。2.禁用不必要的守护进程每台服务器上都运行着许多守护进程或服务,具有讽刺意味的是,有许多通常是不必要的,它们毫无用处,但会消耗宝贵的内存和CPU时间。此外,它们可能会使服务器处于危险境地。多运行一项服务,就等于为黑客打开了一扇长久之门。因此,您应该将它们从服务器中删除。禁用它们最大的好处是可以加快启动时间和释放内存。此外,您还可以减少CPU需要处理的进程数。禁用它们的另一个好处是增加了服务器的安全性,因为更少的守护进程意味着更少的可以被攻击和利用的漏洞。以下是一些应该禁用的Linux守护进程,默认情况下它们都自动运行:Ordinal守护进程描述1Apmd高级电源管理守护进程2Nfslock用于NFS文件锁定3IsdnISDNModerm支持4Autofs在后台自动挂载文件系统(例如自动挂载光驱)5Sendmail邮件传输代理6XfsXWindow字体服务器3.关闭GUI一般来说,Linux服务器不需要GUI,所有的管理任务都可以在命令行下完成,所以最好关闭GUI,重定向X显示或通过Web浏览器界面显示它。为了禁用GUI,“initlevel”应该设置为3(命令行登录),而不是5(图形登录),如果您需要GUI,您可以随时运行startx进入GUI。4.清理不需要的模块或函数。服务器软件包中有太多实际不需要的功能或模块(如Apache中的许多功能模块)。仔细检查Apache的配置文件,判断FrontPage是否支持或其他是否真的需要额外的模块,如果不需要,应该毫不犹豫地从服务器上禁用它们,这将有助于增加可用的系统内存量,释放为那些真正需要它们的软件提供更多资源,让它们顺利运行。快点。5、禁用控制面板在Linux中,有很多流行的控制面板,如Cpanel、Plesk、Webmin、phpMyAdmin等,相信每个Linux新手用户都喜欢这些控制面板。但是,禁用这些包会释放大约120MB的内存,因此我强烈建议禁用这些控制面板,除非确实需要它们,它们可以通过PHP脚本(尽管有些不安全)或命令行命令启用,并且内存使用率可以下降大约30-40%。6.提高LinuxExim服务器的性能提高服务器Exim性能的方法有很多,其中之一就是使用DNS缓存守护进程,它可以减少解析DNS记录所需的带宽和CPU时间。开始寻找DNS记录以提高网络性能。Djbdns是一个非常强大的DNS服务器,具有DNS缓存功能。Djbdns比BINDDNS服务器更安全,性能也更好。可以通过http://cr.yp直接访问。到/下载,或通过RedHat提供的软件包。7、使用AES256增强gpg文件加密的安全性为了提高备份文件或敏感信息的安全性,很多Linux系统管理员都会使用gpg进行加密。使用gpg时,最好指定gpg使用AES256加密算法,AES256使用256位的密钥,它是一种开放的加密算法,美国国家安全局(NSA)用它来保护绝密信息,没什么比它更安全。8.远程备份服务的安全性安全性是选择远程备份服务的最重要因素,大多数系统管理员害怕两件事:(黑客)可以删除备份文件,并且无法从备份中恢复系统。为了保证备份文件的100%安全,备份服务公司提供远程备份服务器,使用scp脚本或RSYNC通过SSH传输数据,这样一来,任何人都无法直接进入和访问远程系统,因此,没有人可以从备份服务中删除数据。在选择远程备份服务商时,最好从多个方面了解其服务的健壮性,如果可以的话,可以自己测试一下。9.更新默认内核参数设置为了顺利、成功地运行企业应用,比如数据库服务器,一些默认的内核参数设置可能需要更新,例如2.4.x系列的内核消息队列参数msgmni就有了默认值(例如sharedmemory,或者shmmax在RedHat系统上默认只有33554432字节),它只允许有限数量的数据库并发连接,下面提供一些建议值以便更好的运行数据库服务器(来自IBMDB2支持网站):kernel.shmmax=268435456(32位)kernel.shmmax=1073741824(64位)kernel.msgmni=1024fs.file-max=8192kernel.sem=”25032000321024″10.优化TCP协议,有助于提高网络吞吐量,当跨广域网通信使用的带宽较大,延迟时间较长时,建议使用较大的TCPLinuxsize,以提高数据传输速率。主机发送多少数据。11.选择正确的文件系统使用ext4文件系统而不是ext3Ext4是ext3文件系统的增强版本,具有扩展的存储限制它具有日志功能,可确保高度的数据完整性(在异常关机的情况下))在异常关机和重启时,不需要检查磁盘(这是一个非常耗时的动作)写入速度更快,ext4journal优化了硬盘磁头动作12.使用noatime文件系统挂载文件系统启动配置文件fstab中的选项使用noatime选项,如果使用外部存储可以有效提升性能。13.调整Linux文件描述符限制Linux限制任何进程可以打开的文件描述符数量,默认限制为每个进程1024个,这些限制可能会阻止基准客户端(如httperf和apachebench)和Web服务器本身获得最佳性能,Apache每个连接使用一个进程,所以它不会受到影响,但是像Zeus这样的单进程Web服务器每个连接使用一个文件描述符,所以很容易受到默认限制的影响。打开文件限制是可以使用ulimit命令调整的限制。ulimit-aS命令显示当前限制,ulimit-aH命令显示硬限制(如果不调整/proc中的内核参数,则无法增加限制)。Linux第三方应用性能小贴士对于运行在Linux上的第三方应用,也有很多性能优化小贴士,可以帮助你提高Linux服务器的性能,降低运营成本。14、正确配置MySQL要给MySQL分配更多内存,可以设置MySQL缓存大小。如果MySQL服务器实例使用更多内存,请减小缓存大小。如果请求增加时MySQL停止,请增加MySQL缓存。15.正确配置Apache,查看Apache使用了多少内存,然后调整StartServers和MinSpareServers参数释放更多内存,这将帮助您节省30-40%的内存。以下是一些改进Linux服务器监控和故障排除的技巧:16.分析Linux服务器性能提高系统效率的最佳方法是找出导致整体速度下降的瓶颈并修复它们。以下是识别关键系统瓶颈的一些基本技巧:●当OpenOffice和Firefox等大型应用程序同时运行时,计算机可能开始变慢,并且内存不足的可能性更高。●如果启动时确实很慢,可能是应用程序第一次加载时间过长。一旦启动就会正常运行,否则可能是硬盘太慢了。●CPU负载持续偏高,内存充足,但CPU利用率很低。您可以使用CPU负载分析工具来监控负载时间。17.学习5条Linux性能命令使用几个命令来管理Linux系统的性能。下面列出了5个最常用的Linux性能命令,包括top、vmstat、iostat、free和sar,可以帮助系统管理员快速解决性能问题。1).topTop命令不仅可以显示当前内核服务的任务,还可以显示很多关于主机状态的统计数据。默认情况下,它每5秒自动更新一次显示的数据(这个时间间隔是可配置的),通过top命令,我们可以知道几个结果,比如:当前正常运行时间、系统负载、进程数、内存使用情况。此外,该命令还显示了使用CPU时间最多的进程(包括每个进程)运行用户、执行的命令等信息)。2).vmstat命令提供当前CPU、IO、进程和内存使用情况的快照。它类似于top命令,自动更新数据,如:$vmstat103)。iostatiostat命令(包含在Ubuntu、RedHat/Fedora软件包的sysstat中)提供三种报告:CPU利用率、设备利用率和网络文件系统利用率。当不带任何参数运行时,iostat将显示这三个报告。使用-c、-d和-h参数分别将这三个报告独立显示。4)..freeFree命令显示主内存和交换空间的内存统计信息。指定-t参数显示总内存量,指定-b参数以字节为单位显示,使用-m以兆字节为单位显示。默认案例以千字节为单位。Free命令也可以使用-s参数加上一个延迟时间(单位:秒)来连续运行,如:$free-s55)。sarSar命令收集、查看和记录性能数据。此命令的历史比以前的命令更长。它可以收集和显示更长时间的数据。杂项以下是一些归类为杂项的性能技巧:18.将日志文件移至内存最好在机器运行时将系统日志保存在内存中,并将它们复制到硬盘,当您运行启用了syslog的笔记本电脑或移动设备时,ramlog可以帮助您提高系统电池或移动设备闪存驱动器的寿命。使用ramlog的好处之一是您不必担心守护进程在每30秒内向syslog发送一条消息。以前硬盘必须时刻保持运转,这样对硬盘和电池都不好。19.先打包,后写入将日志文件保存在内存中一个固定大小的空间中,也就是说笔记本电脑的硬盘不必一直运行,只有当守护进程需要写入日志时,它才会运行,注意ramlog使用的内存空间大小是固定的,否则系统内存会很快用完。如果笔记本用的是固态硬盘,可以分配50-80MB的内存给ramlog。Ramlog可以减少很多写周期,大大提高固态硬盘的使用寿命。20.一般调优技巧尽可能使用静态内容而不是动态内容。如果您正在生成天气预报或其他必须每小时更新的数据,最好编写一个程序来每小时生成一个静态文件,而不是让用户运行CGI来动态生成报告。为动态应用程序选择最快最合适的API,CGI可能是最容易编程的,但它会为每个请求生成一个进程,通常,这是一个昂贵且不必要的进程,FastCGI是更好的选择,如Apache的mod_perl,可以大大提高应用程序性能。