过滤应用性能监控耗时日志
**耗时排查步骤**
1. 步骤一:使用APM实时性能监控抓取日志
2. 步骤二:导出日志,发送html文件给研发排查
3. 步骤三:可以通过过滤详细日志的执行时长,排查耗时的SQL
![image.webp](/download/010029ebd37cae59402bb73aebc8b1a05898.webp)
存在问题:因为详细的日志只显示sql的耗时,当日志非常多的时候
如下例描述
1. sql详细日志有8000+
2. 总耗时是第一行有400+秒(耗时太长,需要优化)
日志说明:当前只能过滤耗时的SQL。没有包含非SQL的日志。
耗时可能性分析:
1. 存在高耗时的SQL :可通过以上方式过滤耗时SQL并进行优化。
2. 其他代码逻辑耗时
3. 循环次数过多
当优化高耗时的SQL,总耗时还是那么长怎么办?到底是SQL耗时太长,还是SQL执行数量太多导致总耗时太长呢?
进一步排查:汇总所有SQL的总耗时
**操作步骤:**
1. 用记事本打开编辑日志的HTML文档,插入脚本。
2. 插入位置
![image.webp](/download/01002beb52cce10b49fc935f3addf85f54db.webp)
3. 插入脚本,保存
```language
<script>
function ShowMsg (id,millisecond){
var parentRow = document.getElementById(id);
var table = parentRow.parentNode.parentNode;
var rowCount = 0;
var sum = 0;
var validRowCount =0;
var firstParentId = id.substring(3, id.length);
var parentRowParentId = parentRow.getAttribute("parentids");
if(!(!parentRowParentId || parentRowParentId .length === 0))
{
firstParentId = parentRowParentId +","+firstParentId ;
}
for (var i=table.rows.length-1; i>0; i--){
var row = table.rows[i];
var cell = row.cells[1].innerHTML;
var time = parseFloat(cell);
var parentId = row.getAttribute("parentids");
var rowId = row.getAttribute("id");
if(firstParentId ==parentId )
{
if(time>=millisecond)
{
table.rows[i].className = 'red2class';
validRowCount++;
sum +=time;
row.style.display = "table-row"
}else
{
row.style.display = "none"
//table.deleteRow(row.rowIndex);
}
rowCount++;
}else if(rowId ==id)
{
row.style.display = "table-row"
}else
{
row.style.display = "none"
//table.deleteRow(row.rowIndex);
}
}
console.log("行数:"+rowCount );
console.log("超过"+(millisecond/1000)+"秒行数:"+validRowCount);
console.log("超过"+(millisecond/1000)+"秒的汇总:"+sum );
}
</script>
```
4. 刷新页面,打开控制台统计(这个脚本是统计父级节点下的子节点的总耗时,也可以修改id统计下层节点的耗时)
```language
ShowMsg ("log9cba28c4-a0ee-4368-a9da-fa89d3b3872d",1)
```
![image.webp](/download/0100446b081992a04039bc6ecbe81c4766f5.webp)
![image.webp](/download/0100075c2cf7b9c446fa93bb5648484b650e.webp)
## 我们可以看到总的SQL的耗时远远达不到总耗时。
那么可能是其他的可能性,可能需要调试或者输出日志再具体排查。
过滤应用性能监控耗时日志
**耗时排查步骤**1. 步骤一:使用APM实时性能监控抓取日志2. 步骤二:导出日志,发送html文件给研发排查3. 步骤三:可以通过过滤详细日...
点击下载文档
上一篇:问题排查下一篇:单据转换.二开案例.下推时仅部分行下推成功时不允许下推
本文2024-09-16 18:31:49发表“云星空知识”栏目。
本文链接:https://wenku.my7c.com/article/kingdee-k3cloud-22738.html
您需要登录后才可以发表评论, 登录登录 或者 注册
最新文档
热门文章