We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
1.4.15
经过对 #1583 issue 的分析,当文章数量过多特别是文章都很长时会导致cpu飙升并且freemarker渲染速度过慢,非常占用资源。
例如以2000条文章字数都在8000字的文章为例:
2000
8000
前置条件: 机器配置 2core 4g,且halo分配3g内存
halo
3g
使用joe2对首页页面的请求需要5秒多,切换 h2 和 mysql 测试都一样
对于获取不使用分页查询的归档页面时需要20以上,并且请求未结束之前cpu都会飙升到90%多,直到请求结束才会恢复正常
根据以上情况进行反复测试,发现sql语句的执行时间都在可接受范围内。
此时将 2000 条文章的文章内容都清空后再试时,发现首页页面的请求降低到 300ms, 归档页的页面请求降低到 900ms 归档页面请求过程中cpu占用率也从 90%以上 降低到 20%左右。
300ms
900ms
90%
20%
因此得出结论:查询文章列表数据时会连带查询出文章内容这样的大字段导致Post对象变大, 堆积到内存中,况且归档页没有使用分页, 那么查询归档页时会将2000条文章数据包括其内容查询到内存中, 导致计算量变大,因此cpu飙升,而这些情况文章内容都是无用的字段
Post
综上所述,应该将文章内容从文章表中拆分出去以优化查询并减少无用大字段的存在时对象变量从而导致计算量上升。
No response
The text was updated successfully, but these errors were encountered:
JohnNiang
ruibaby
guqing
Successfully merging a pull request may close this issue.
你当前使用的版本
1.4.15
描述一下此特性
动机
经过对 #1583 issue 的分析,当文章数量过多特别是文章都很长时会导致cpu飙升并且freemarker渲染速度过慢,非常占用资源。
描述
例如以
2000
条文章字数都在8000
字的文章为例:使用joe2对首页页面的请求需要5秒多,切换 h2 和 mysql 测试都一样
对于获取不使用分页查询的归档页面时需要20以上,并且请求未结束之前cpu都会飙升到90%多,直到请求结束才会恢复正常
根据以上情况进行反复测试,发现sql语句的执行时间都在可接受范围内。
此时将
2000
条文章的文章内容都清空后再试时,发现首页页面的请求降低到300ms
, 归档页的页面请求降低到900ms
归档页面请求过程中cpu占用率也从
90%
以上 降低到20%
左右。因此得出结论:查询文章列表数据时会连带查询出文章内容这样的大字段导致
Post
对象变大, 堆积到内存中,况且归档页没有使用分页, 那么查询归档页时会将2000
条文章数据包括其内容查询到内存中, 导致计算量变大,因此cpu飙升,而这些情况文章内容都是无用的字段综上所述,应该将文章内容从文章表中拆分出去以优化查询并减少无用大字段的存在时对象变量从而导致计算量上升。
附加信息
No response
The text was updated successfully, but these errors were encountered: