线上问题排查方案
2023-12-29 00:10:16
在一次活动中,监控发现某个微服务中心服务的负载较高,数据库写入速度变慢,排查问题。
主要可从以下几个方面排查
1、生产日志级别
日志级别有 DEBUG、INFO、WARING、ERROR,检查生产环境的日志级别,日志打印多,会不断往日志文件写数据,会拖慢服务器的性能。
2、服务器负载
可登录服务器,如使用 top 命令,查看服务器的load负载情况
3、查看服务调用链路
可查看某几条请求,错误情况,是否是调用的某个服务挂了,超时情况
4、查看数据库写入速度
业务应用可能操作数据库,查看缓存是否生效,是否存在频繁的查询,低频操作的数据库索引是否生效,在Navicat或控制台,使用explain命令,查看执行的SQL是否走索引。
5、检查应用中是否存在多次创建对象
在业务代码中发现使用的是 SimpleDateFormat 格式化日期,其为线程不安全,在高并发下可能有问题,可替换成线程安全的 JodaTime。
原格式化
JodaTime 格式化
第一步、引入依赖
即在pom文件中添加依赖。
<dependency>
<groupId>joda-time</groupId>
<artifactId>joda-time</artifactId>
<version>2.10.5</version>
</dependency>
代码中格式化
// String转Date
DateTimeFormatter dateTimeFormatter = DateTimeFormat.forPattern('yyyy-MM-dd');
DateTime dateTime = dateTimeFormatter.parseDateTime(timeStr);
Date date = dateTime.toDate();
// Date 转String
DateTime dateTime = new DateTime(date);
String dateStr = dateTime.toString('yyyy-MM-dd')
文章来源:https://blog.csdn.net/u012190388/article/details/135279872
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!