Linux Apache高CPU使用率
我在一个php文件(API.php)中有一个webservice API。Android/iOS应用程序将从此Web服务获取数据。目前有1000-3000个用户应用程序将每5秒从服务器获取一次数据(实时数据)。我在高峰时间遇到了高CPU使用率。每个www数据占用2%的CPU。我有8核处理器。它在峰值时间达到最大CPU。有什么建议吗 Apache配置。Linux Apache高CPU使用率,linux,apache,performance,cpu,cpu-usage,Linux,Apache,Performance,Cpu,Cpu Usage,我在一个php文件(API.php)中有一个webservice API。Android/iOS应用程序将从此Web服务获取数据。目前有1000-3000个用户应用程序将每5秒从服务器获取一次数据(实时数据)。我在高峰时间遇到了高CPU使用率。每个www数据占用2%的CPU。我有8核处理器。它在峰值时间达到最大CPU。有什么建议吗 Apache配置。 StartServers 4 MinSpareServers 20 MaxSpareServers 40 MaxClients 200 MaxR
StartServers 4
MinSpareServers 20
MaxSpareServers 40
MaxClients 200
MaxRequestsPerChild 4500
虚拟主机详细信息:
<VirtualHost *:80>
ServerName track.domain.com
Redirect permanent / https://track.domain.com/
</VirtualHost>
<VirtualHost *:443>
SSLEngine On
SSLCertificateFile /var/certificate/track.domain.com/track_domain_com.crt
SSLCertificateKeyFile /var/certificate/track.domain.com/track.domain.com.key
SSLCACertificateFile /var/certificate/track.domain.com/track_domain_com.ca-bundle
#SSLCertificateChainFile /var/certificate/track.domain.com/track_domain_com.ca-bundle
# Admin email, Server Name (domain name), and any aliases
ServerAdmin webmaster@track.domain.com
ServerName track.domain.com
ServerAlias www.track.domain.com
# Index file and Document Root (where the public files are located)
DirectoryIndex index.html index.php
DocumentRoot /var/www/html/track.domain.com/public_html
#DocumentRoot /var/www/html/track.domain.in/public_html
# Log file locations
LogLevel warn
ErrorLog /var/www/html/track.domain.com/log/error.log
CustomLog /var/www/html/track.domain.com/log/access.log combined
<IfModule mod_security2.c>
SecRuleEngine Off
SecAuditEngine Off
SecAuditLog ${APACHE_LOG_DIR}/modsec_audit.log
SecDebugLog ${APACHE_LOG_DIR}/modsec_debug.log
</IfModule>
</VirtualHost>
ServerName track.domain.com
重定向永久/https://track.domain.com/
斯伦金安
SSLCertificateFile/var/certificate/track.domain.com/track\u domain\u com.crt
SSLCertificateKeyFile/var/certificate/track.domain.com/track.domain.com.key
SSLCACertificateFile/var/certificate/track.domain.com/track\u domain\u com.ca-bundle
#SSLCertificateChainFile/var/certificate/track.domain.com/track\u domain\u com.ca-bundle
#管理员电子邮件、服务器名(域名)和任何别名
服务器管理员webmaster@track.domain.com
ServerName track.domain.com
ServerAlias www.track.domain.com
#索引文件和文档根目录(公共文件所在的位置)
DirectoryIndex.html index.php
DocumentRoot/var/www/html/track.domain.com/public\u html
#DocumentRoot/var/www/html/track.domain.in/public\u html
#日志文件位置
日志级别警告
ErrorLog/var/www/html/track.domain.com/log/error.log
CustomLog/var/www/html/track.domain.com/log/access.log
关闭发动机
发动机熄火
SecAuditLog${APACHE_LOG_DIR}/modsec_audit.LOG
SecDebugLog${APACHE_LOG_DIR}/modsec_debug.LOG
CPU使用率:
Apache使用情况:
主要用法:
我认为我们需要查看您的PHP代码,以便发现代码中隐藏的潜在低效。为1000多个用户提供服务本身对Apache来说应该不是什么大问题。从
top
输出来看,mysql似乎是一个瓶颈,如果可能的话,也许您可以研究优化查询,或者将db移动到不同的服务器。我想我们需要查看您的PHP代码,以便发现代码中隐藏的潜在低效。对于Apache来说,服务1000多个用户本身应该不是什么大问题。从顶部的输出来看,mysql似乎是瓶颈,如果可能的话,也许您可以考虑优化查询,或者将数据库移动到不同的服务器
<VirtualHost *:80>
ServerName track.domain.com
Redirect permanent / https://track.domain.com/
</VirtualHost>
<VirtualHost *:443>
SSLEngine On
SSLCertificateFile /var/certificate/track.domain.com/track_domain_com.crt
SSLCertificateKeyFile /var/certificate/track.domain.com/track.domain.com.key
SSLCACertificateFile /var/certificate/track.domain.com/track_domain_com.ca-bundle
#SSLCertificateChainFile /var/certificate/track.domain.com/track_domain_com.ca-bundle
# Admin email, Server Name (domain name), and any aliases
ServerAdmin webmaster@track.domain.com
ServerName track.domain.com
ServerAlias www.track.domain.com
# Index file and Document Root (where the public files are located)
DirectoryIndex index.html index.php
DocumentRoot /var/www/html/track.domain.com/public_html
#DocumentRoot /var/www/html/track.domain.in/public_html
# Log file locations
LogLevel warn
ErrorLog /var/www/html/track.domain.com/log/error.log
CustomLog /var/www/html/track.domain.com/log/access.log combined
<IfModule mod_security2.c>
SecRuleEngine Off
SecAuditEngine Off
SecAuditLog ${APACHE_LOG_DIR}/modsec_audit.log
SecDebugLog ${APACHE_LOG_DIR}/modsec_debug.log
</IfModule>
</VirtualHost>