項目環境:目前是銀行項目的tomcat跟mysql是裝在同一個服務器,cpu占用率達到100%,mysql在任務管理器占用率極高,達到80%以上;
軟件方面的自查:
1.查詢mysql版本,盡量使用公司同一版本5.6
select version()
2.查詢是否有低效率的sql,有的話就調優,執行時間不能高於3s(方向為索引,索引級別為ref以上、關聯查詢的各個表編碼相同)
SELECT
*
FROM
information_schema. PROCESSLIST a
WHERE
command <> 'sleep'
AND time > 3
ORDER BY
time DESC
3.查看mysql最大連接數
show variables like '%max_connections%';
設置最大連接數
方法一:不用重啟mysql:但是mysql掛掉之后就無效,需要重新設置
set global max_connections=16000;
修改配置文件
進入MySQL安裝目錄 打開MySQL配置文件 my.ini 或 my.cnf查找 max_connections=100 修改為 max_connections=16000 服務里重起MySQL即可.
4.優化項目數據庫連接數,加大到合適數量
5.優化tomcat服務器參數
硬件自查
危害:占用同一個CPU資源,會導致tomcat服務器卡頓,影響性能;
建議:硬件升級;CPU增強,機械硬盤升級為固態硬盤(因為解析幾百上千個文本需要很多IO操作);mysql服務及tomcat服務分離到不同的服務器
持續觀察一小時:
1.cpu從100%下降到5%到8%;
2.待解析的文件從230個到50個,每小時解析180個文件
總結:完美完成優化改造,提高服務穩定性及並發量