症状: cpu长期高于50%,早高峰达到90%~100%, 内存占用只有20%
=============================================
$SpecifyData = M($dbName);
$curDate = date('Y-m-d', time());
if ($SpecifyData->where("source='$source' and inst_time like '$curDate%' ")->count() > 20) {
if ($SpecifyData->where("ip='$ip'")->count() > 0) {
InstLog($source, "$dbName --- $ip ----duplicated");
return; //过滤重复IP
}
}
终于找到是上面的原因了。
==========================================
查找流程
1. 先使用top命令查看到mysql占用CPU最高
2. 后来对 /etc/sysctl.conf /etc/my.cnf 配置修改, 效果不大
3. 最终发现是每天用户安装都调用这个IP去重代码, 这个执行时间竟然要2秒多,这么久的时间再怎么优化mysql,都没作用了