以 Linux + Nginx + PHP + MySQL 为例
一般我会从下面几个思路来寻找解决方法
a. 是否 WEB 的连接数就很大
那么可以考虑用 Varnish(或Squid) 来 Cache 一些动态的请求
通过这个步骤来减少这些动态请求对 MySQL 的请求
b. 机器负载是否很高
可以考虑,哪些是静态数据,哪些是不活跃数据,哪些是活跃数据
如果静态数据较小,那么可以试试静态数据直接保存成 PHP 文件
如果较大,可以放在 TTServer 中去
活跃数据的话,可以保存在 Memcache 中,如果需要持久化,也可
以保存在 TTServer 等 NoSQL 中去
c. 是不是有不合格的 SQL 语句在运行
那么可以用 mysqldumpslow 分析 mysql 的slow query log
d. PHP 里的 mysql.pconnect 可能不太好使
那是很久前我用 mysql.pconnect ,容易出现 MySQL 宕机的情况,改为
mysql.connect 后情况好转,其他语言,或现在的 PHP 未必有这个
情况
e. 申请新机器 :)