服务器负载过高是业务正常运行的主要威胁之一。高平均负载意味着系统或服务器超载,许多进程正在等待 CPU 时间。因此将有许多进程等待完成,这些进程将进入队列,导致服务器负载增加。
高负载的主要原因
1.服务器超载
2.垃圾邮件
3.硬盘性能
4.进程和 cron 作业调度
5.数据库性能
6.恶意软件
垃圾邮件会导致很多问题,例如邮件服务器开始占用大量资源,IP 因垃圾邮件而被列入黑名单,并且大量退回邮件会导致服务器负载增加。数据库性能也是另一个重要因素,长时间查询会导致高负载。
负载故障排除
有几种工具可用于检查服务器负载。您可以使用“top”或“uptime”命令来检查哪个进程占用了更多的 CPU 资源。top 命令可以让您更好地了解问题。
Top
检查内存使用情况
free -g
优化服务器以避免高负载问题
排查和解决服务器高负载问题需要系统化地进行,以下是一些常见的步骤和方法。
1.选择正确的服务器硬件类型
您必须根据您的要求选择合适的硬件类型,因此您应该首先规划要在服务器上托管多少个域/帐户。
如果您的实时服务器出现高负载问题,那么您可以通过以下命令检查服务器中的可用磁盘空间;
df -hT
通过上述命令,您可以获得服务器中的可用和已用磁盘空间,如果磁盘空间不足以处理服务器中的进程,最好根据您的要求添加额外的磁盘空间或迁移到更高磁盘可用空间的服务器。
2.规划备份计划
将服务器的备份安排在高峰时间(高流量时间)之外。高峰时间运行的备份将导致服务器负载过高。
另外,检查备份需要多长时间才能完成或备份是否及时完成。因此,应在 cron 作业中安排适当的时间间隔来安排备份,以避免高负载。
3. 跟踪邮件服务器
您应该监控您的邮件服务器性能,如垃圾邮件、邮件队列等。垃圾邮件会导致邮件服务器超载,最终导致服务器负载增加。
4.调整服务器配置,如Mysql,Php-fpm(基于服务器配置)
从“top”命令输出中,您可以了解哪个进程占用了更多的 CPU 时间进行加载。大多数情况下,在多个服务器中,MySQL 或 php-fpm 占用了更多的 CPU 时间。因此,我们可以针对此情况调整这些服务。
对于 php-fpm,我们必须优化服务器中的配置,如 pm.max_children、pm.start_servers、pm.min_spare_servers、pm.max_spare_servers、pm.max_requests 等。
对于 Mysql,我们需要优化数据库和 MySQL 数据库服务器。这必须具备适当的知识,最好为此寻求技术帮助。
(注:本文属【恒创科技】原创,转载请注明出处!)