線上遇到的一些問題總結

1、cpu load 很是高達到100% 1.top定位到哪一個進程load值很高。 2.top定位到哪幾個線程load很高。 3.ps -eg | grep java 定位到jvm進程。 4.經過jstack查看jvm線程,發現load很高的是GC線程 5.查看GC頻率發現fullGC頻繁 6.查看dump文件,發現堆信息中老年代很是滿。90% 升到99%就進行fullGC恢復到90% 7.發現是以前引入的本地存儲的組件致使。java

2、數據庫查詢很是慢 原sql : select * from student where age > 18 limit 100000 10.在數據量很是大的時候就會很是滿,由於索引查到的數據就很是大,而後遍歷索引,越到後面越慢。 1.若是數據id是遞增的,id是遞增的,能夠每次記錄下id值,而後經過id來查找。 select * from student where age > 18 and id > 11100111 limit 10; 2.若是數據id不是遞增的。 select * from student where id > (select * from student where id > 100000 ) limit 10;sql

相關文章
相關標籤/搜索