目录
性能优化专题主要帮助大家解决日常碰到的访问速度慢问题,
一、常见问题
maxLevel 3 exclude ^\s+
性能优化专题主要帮助大家解决日常碰到的访问速度慢问题
一、常见问题及原因
最常见的四个导致访问慢的问题表现及原因分别为最常见的四个问题表现分别为
1.请求接口慢,请求时间长,常见于list接口
打开浏览器检查模式(开发者工具),在网络(Network)一栏中,如截图找到接口执行时间进行排序查看
现象:一般来说,单一接口请求时间过长,即为异常,需要处理
处理方式:参考性能优化处理方式第一部分页面加载速度慢。接口速度慢。
2.网络速度慢
查看接口的Timing,可以查看到接口加载三个时间段(发送请求,等待服务端响应,下载内容)的时间分布,正常来说应该如下图,等待服务端请求占大部分时间
...
现象:当同一接口内sql执行时间都差不多,执行时间都不算长,但是执行的sql条数特别多时,就很有可能发生了循环调用
处理方式:通过运营者模式定位到是sql循环调用问题后,一般来说都是二开接口或云函数问题,联系对应的二开老师处理通过运营者模式定位到是sql循环调用问题后,一般来说都是二开接口或云函数问题,联系对应的二开老师处理(二开老师云函数中尽量参考ModelUtil 方式创建)
二、需掌握的性能优化处理方式
1.接口速度慢
主要针对模型列表页或者报表数据源取数慢,导入数据速度慢也可参考2/3/4
...
1)关联优化:判断是否存在非必要关联,判断是否针对外关联配置添加ondemand
关联wiki:0507.性能优化排查专题模型列表页或者报表数据源取数慢
2)组织树根节点优化:
① 左树右列表页面配置tree元数据
② ② 过滤条件中包含组织信息
3)字段持久化:判断是否存在业务主键/常用过滤字段/关联字段使用了弹性字段,这种情况考虑字段持久化
...
4)模型持久化:弹性模型数据量达到几十万级别可以考虑使用模型持久化, 常用字段添加索引
关联wiki: 优化方式二:模型持久化 5)索引:在以上情况优化后均无效果的情况下,可以针对具体业务专门给数据库字段添加索引(持久化表后)
在做完模型持久化之后,可以针对具体业务专门给数据库字段添加索引
注意
如果在做完上述优化之后,接口速度依然慢,通过运营者模式拿到接口sql日志+profile日志之后,将内容反馈给对应的开发老师,由开发协助处理,
运营者模式wiki参考:
07 开发者模式及运营者模式介绍#07%E5%BC%80%E5%8F%91%E8%80%85%E6%A8%A1%E5%BC%8F%E5%8F%8A%E8%BF%90%E8%90%A5%E8%80%85%E6%A8%A1%E5%BC%8F%E4%BB%8B%E7%BB%8D-%E8%BF%90%E8%90%A5%E8%80%85%E6%A8%A1%E5%BC%8F
2. 后台任务页面卡死(查看队列)
一些需要后台计算的任务始终不执行,例如报表页面,薪酬计算等,这种情况考虑后台任务堵死。这种时候排查分为两步:
...
详细处理参考wiki:List接口取数优化
4. 辅助工具
1)未提交sql页面
数据库页面:查看未提交事物页面:/#/common_model_list?model=DBUnCommitSql
...