mysql apache优化网上搜到的建议 A.web减压 1、将apache替换成nginx,nginx性能更好 2、静态文件使用nginx缓存.或者某些动态的可以缓存的,那也给缓存掉 3、有钱的话,走CDN,减小你们网站流量压力,和服务器压力,而且可以防一定程度攻击 B\程序方面 1、php 5.2.14如果可以换的话就换成5.4的,但是如果程序比较老建议不换,毕竟版本差异比较大 2、php换成fpm-cgi方式 3、fpm-cgi开始slowlog检查慢的php语句。进一步优化语句 C、数据库方面 1、使用redis,memcache等等nosql换成数据 2、mysql使用主从读写分离,或者使用mm主主。
6. 程序编写不严谨造成死循环等错误
如果上面的问题都不存在Apache依然产生CPU100%的问题的话,通常来说就应该是Web程序自身的问题了,例如死循环等等。这个时候需要在日志中设置HTTP请求的文件及执行的时间,然后查找出执行时间比较长的地址进行分析排查。
日志格式设置如下:
LogFormat “%v %h %l %u %t [%Ts] \”%r\” %>s %b” vhost_common #设置程序执行时间 <VirtualHost xxx.xxx.xx.xx:80> ServerName xxx.xxx.com DirectoryIndex index.php index.html index.htm DocumentRoot “xxx” # cronolog.exe是Apache自带的用于将日志文件进行分割的应用程序 CustomLog “|bin/cronolog.exe e:/%Y%m%d.log” vhost_common </VirtualHost>