1、影响性能的线程状态
①BLOCKED,如果线程中有BLOCKED,就代表有阻塞情况,需要进行排查
②TIMED_WAITING,如果线程中有TIMED_WAITING,就代表有等待的情况,要分情况来排查
系统线程在等待(如果以java.*,并且线程快照信息比较短,可以忽略)
业务线程在等待(如果以com.*,cn.*,org.*,线程快照信息比较长,需要重点关注)
2、数据库连接池
项目启动时,会提前创建N个数据库链接,然后存放到连接池中。
如果需要执行SQL的时候,可以直接从连接池中拿到一个链接使用,使用完毕后,再放回连接池中。
3、如何确定连接池中的连接数不足?
①线程快照,大量业务线程正在等待获取链接
②查看连接池配置,确定最大允许的连接数是多少,然后监控数据库当前连接数,判断是否达到上限
4、如何查看服务器链接数?
yum install -y net-tools
nestat -anp | grep 3306
netstat -anp | grep 172.21.0.16:3306 | grep 14963 | wc -l
5、如何配置连接池参数?
初始连接数:1-10
最小连接数:和初始值保持一致
最大连接数:几十个,通常50个够用,不建议超过100
6、查看数据库本身的连接数
最大连接数:
show variables like '%connection%';
MySQL默认最大连接数是150,修改/etc/my.cnf
当前连接数:
netstat -anp |grep 172.21.0.16:3306 | wc -l
7、Tomcat连接数
/usr/src/tomcat-pinter/conf
vi server.xml
在端口号处添加:
maxConnection="15000"
acceptCount="200"
maxConnection默认值10000,acceptCount默认值100,最大支持的连接数=10100
8、Redis连接数
默认最大连接数:maxClient=10000
9、Nginx连接数
最大连接数=worker的数量(CPU的核数)* 每个worker支持的最大连接数(默认1024)
最后感谢每一个认真阅读我文章的人,看着粉丝一路的上涨和关注,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走!
软件测试面试文档
我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。