随笔分类 -  服务端性能测试 / 数据库性能问题定位与调优

摘要:数据库连接池问题定位与分析 一.环境准备 1.编写脚本 2.执行压测 3.打印快照 二.问题定位 1.在快照中,搜索是否存在BLOCKED 或者 TIMED_WAITING字段 2.查看TIMED_WAITING日志中是否存在,跟自身业务相关的日志信息 3.检查是否存在getconnection的关 阅读全文
posted @ 2023-06-27 17:05 常疯大虾 阅读(117) 评论(0) 推荐(0) 编辑
摘要:联合索引问题定位与分析一.配置联合索引二.联合索引生效规则最左侧生效原则1.不生效情况Age在联合索引的第左侧,where字句中,没有用到age所以联合索引不生效2.部分生效情况Email在联合索引的最左侧,slq语句中有email字段,email生效3.联合索引都生效Sql语句中where字段与联 阅读全文
posted @ 2023-06-27 17:01 常疯大虾 阅读(19) 评论(0) 推荐(0) 编辑
摘要:数据库索引问题定位与分析 一.数据库服务器添加慢查询配置 1.my.cnf文件添加监控慢查询配置 cd /etc/my.cnf vi my.cnf 添加如下配置: slow_query_log=1 long_query_time=0.01 2.重启数据库服务器 systemctl restart m 阅读全文
posted @ 2023-06-27 17:00 常疯大虾 阅读(20) 评论(0) 推荐(0) 编辑
摘要:数据库架构优化一.分库分表1.整除取余比如有user有10个库,每个库有100张表userid=100087存放的数据库和表格的路径100087%10=7 第7个库10087%100=87 第87张表2.根据id最后1位和两位插入数据库和表Id的最后1位为数据库的位置Id的最后两位为表格的位置二.读 阅读全文
posted @ 2023-06-27 16:57 常疯大虾 阅读(29) 评论(0) 推荐(0) 编辑
摘要:代码优化1.使用对象池减少对重复对象的创建,比如tcp链接、数据库链接、多线程2.调整连接数,连接池、数据库链接数、tomcat、nginx连接数3.利用缓存技术增加缓存、本地缓存(tomcat内存之中,不走网络)、redis缓存4.串行改并行,即单线程改多线程5.同步改异步,使用场景:本次调用接口 阅读全文
posted @ 2023-06-27 16:56 常疯大虾 阅读(66) 评论(0) 推荐(0) 编辑
摘要:Sql语句优化1.在where及order by后的字段,添加索引。避免全表扫描。一般不要超4个2.避免索引失效:避免where字句中对字段进行null值判断,避免where字句中对字段进行函数或者表达式的操作避免where字句中对字段进行左右模糊查询3.查询语句避免*,减少内存使用4.用union 阅读全文
posted @ 2023-06-27 16:56 常疯大虾 阅读(25) 评论(0) 推荐(0) 编辑
摘要:Mysql慢查询现象、原因、排查思路一.Mysql慢查询表现1.Tps很低2.相应时间很长3.应用服务器cpu使用率很低4.Mysql数据库服务器使用率很高二.Mysql慢查询原因1.数据未加索引2.数据库索引未生效3.Sql语句不够优化三.Mysql慢查询问题排查思路1.检查是否添加索引2.找到接 阅读全文
posted @ 2023-06-27 16:55 常疯大虾 阅读(585) 评论(0) 推荐(0) 编辑
摘要:性能瓶颈定位思路整体思路:从前到后,从表象到内部1.首先排查压力机自身的问题,如CPU、内存、网络、脚本2.监控中间件的访问日志,观察相应时间耗时,出现在哪一个环节。Tomcat、nginx、apache、mysql3.排查网络问题,监控压力机到后端服务器的网络是否出现瓶颈4.监控服务端的所有机器( 阅读全文
posted @ 2023-06-27 16:54 常疯大虾 阅读(79) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示