线上遇到的一些问题总结

一、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.发现是之前引入的本地存储的组件导致。

二、数据库查询非常慢 原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;

转载于:https://my.oschina.net/u/2250599/blog/3071446

你可能感兴趣的:(线上遇到的一些问题总结)