作者:黄小亮
现象描述:
页面查询速度非常慢,
直到报出502
错误(Bad gateway)
现象描述:
页面查询速度非常慢,
直到报出502
错误(Bad gateway)
|
错误分析
|
分析过程:
在项目做了压力测试后(
压力测试和功能是用的是一个数据库,
压力测试时产生了大量数据
),
测试环境的查询变的很慢,
超过了mod_jk.conf
中配置的请求超时时间(JkWorkerProperty worker.localnode.socket_timeout=20,
请求转发给jboss
后,最长等待的时间
).
页面报出了502
错误.
原因分析:
通过debug
观察到一次查询查出来的
parentNodeDOList
和
childNodeDOList
各有近万条数据,
下面嵌套进行数据的组装,
消耗了比较多的时间.
代码片段如下:
(
for
ParentNod
eDO parentNodeDO: parentNodeDOList
()) {
parentNodeDOId = parentNodeDO.getId();
for
(ChildNodeDO childNodeDO : childNodeDOList
) {
if (childNodeDO.getParentNodeId().equals(parentNodeDOId)) {
parentNodeDO.getChildNodeDOList().add(childNodeDO);
}
}
}
|
正确用法
|
正确用法
(
将上面代码中
parentNodeDOList
转换为
Map,
再进行组装
,
将
N
²降为
N)
:
for (ChildNodeDO childNodeDO : childNodeDOList) {
ParentNod
eDO
parentNod
eDO
=
parentNod
eMap
.get(childNodeDO.getParentNodeDOId());
parentNodeDO.getChildNodeDOList().add(childNodeDO);
}
|
分享到:
相关推荐
多层嵌套循环 参数转换 数据库配置报文父子级结构 java实现
Visual C++源代码 24 如何设计多层嵌套异常捕获错误Visual C++源代码 24 如何设计多层嵌套异常捕获错误Visual C++源代码 24 如何设计多层嵌套异常捕获错误Visual C++源代码 24 如何设计多层嵌套异常捕获错误Visual ...
主要介绍了python中退出多层循环的方法,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
今天小编就为大家分享一篇基于vue v-for 多层循环嵌套获取行数的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
多层交换机的性能和连通排错
行业资料-交通装置-一种多层循环式立体车库.zip
多层循环神经网络在动作识别中的应用.pdf
多层数据,生产就常见的是BOM表,查询多层数据一般采用循环里面递归,如果循环中变长可以省去递归。2019年同样遇到这个问题,采用SQL视图来查询循环变量都省了,
He离子注入对Cu/Cr和Cu/Nb纳米金属多层膜力学性能的影响,朱望波,牛佳佳,Cu/Nb, Cu/Cr纳米金属多层膜具有多界面性和良好的力学性能,能够有效的阻挡入射的辐照离子,并在辐照后保持良好的力学性能。本文中,
一种基于烟气再循环多层布风的生活垃圾焚烧系统的制作方法.docx
如何设计多层嵌套异常捕获错误实例C#.net源代码编写
C# for循环建立多层文件夹源码 VS2008项目代码 简单代码 初学者进 欢迎加好友交流
IE没有我们想象中笨,它知道总的循环次数还是一千万次。因此,得把这一百个十万次循环分开执行。虽然Javascript是单线程的,但也可以通过setTimeout或setInterval模拟多线程。
今天软件开发网小编写带代码的时候遇到一段代码,需要终止运行for,通过遍历json数据实现判断 [removed] var Tid="55555"; var jb51cp = [ {id:66666,Cpurl:"https://baidu.com"}, ...]; for(var i = 0;.../s
高频混压多层板散热性能的局限与改善.pdf
【JAVA】easypoi根据Excel模板导出 循环遍历合并单元格处理
对多层镀膜的性能提出高要求,会使成本提高。厂商为了提高镜 头像质的课题注入大量经费,其效果是明显的,可以这么说,没有多层镀膜技术飞跃发展, 高倍、大孔径变焦镜头不可能有今天的兴旺局面
针对现有分布式循环自调度方案在异构云平台中存在负载不平衡等问题,提出一种基于多层架构的分层分布式动态循环调度方案。通过HPLS算法来评估计算环境中各worker节点的计算速度。在传统自调度方案中融入节点计算速度...
使用dom4j解析XML,用于解析复杂XML,多层镶嵌XML,多层循环xml解析,解析完保存到实体类