reqable / reqable-app

Reqable issue track repo
https://reqable.com
3.73k stars 134 forks source link

[bug] 请求或响应数据单行文本过长且包含unicode会导致严重卡顿 #1111

Closed Jingle-Pan closed 5 days ago

Jingle-Pan commented 1 week ago

遇到2M包,解析卡顿甚至导致软件崩溃,希望能优化

MegatronKing commented 1 week ago

@Jingle-Pan 您好,2M的数据不算大,理论上没问题。有一种情况,性能比较差,就是2M都在一行里面且显示用word wrap模式,你遇到的是这种情况吗?

Jingle-Pan commented 1 week ago

不知道是不是Word wrap模式,选择那条就卡死。用fiddle可以打开,响应内容解析是json,字典里有非常长list,实际包大小2.64M

MegatronKing commented 1 week ago

不知道是不是Word wrap模式,选择那条就卡死。用fiddle可以打开,响应内容解析是json,字典里有非常长list,实际包大小2.64M

应该不至于,你试试这个呢,3.5M的JSON,我这边测试没有问题:https://github.com/chinese-poetry/chinese-poetry/blob/master/%E5%85%A8%E5%94%90%E8%AF%97/authors.song.json

Jingle-Pan commented 1 week ago

应该不至于,你试试这个呢,3.5M的JSON,我这边测试没有问题:https://github.com/chinese-poetry/chinese-poetry/blob/master/%E5%85%A8%E5%94%90%E8%AF%97/authors.song.json

打开抓不到这个链接的json大包,变成浏览器下载。我说的情况跟你不一样,选中就卡着,如图 image

image

Jingle-Pan commented 1 week ago

从刚才回复,到现在大概10分钟,才把响应体打开,观察reqable程序内层占用消耗1.6Gb.(更新图片) image

MegatronKing commented 1 week ago

从刚才回复,到现在大概10分钟,才把响应体打开,观察reqable程序内层占用消耗1.6Gb.(更新图片) image

这个太不正常了。

怀疑是不是和具体内容有关,能否提供下这个请求地址我这边测试下?如果不方便提供地址,可以提供下这个JSON内容(关键字段可以脱敏)?

flon-chou commented 1 week ago
image image

我也遇到这个情况,我的响应体,压缩后还有1.7M,解压状态下时11M多,然后打开响应体就会卡死,CPU几乎被占满了。

MegatronKing commented 1 week ago

@flon-chou 请问能方便提供测试地址吗?如果不方便在这里公开,可以发送到我们邮箱 coding@reqable.com

Jingle-Pan commented 1 week ago

@MegatronKing 已发邮件

MegatronKing commented 1 week ago

感谢,已定位到问题原因。倒不是数据处理的问题,而是因为单行文本过长,Flutter框架的文字排版引擎skia文字处理性能奇差,直接卡死了。

Jingle-Pan commented 1 week ago

感谢,已定位到问题原因。倒不是数据处理的问题,而是因为单行文本过长,Flutter框架的文字排版引擎skia文字处理性能奇差,直接卡死了。

好的,定位到问题,找优化方案

MegatronKing commented 1 week ago

另一个原因好像是和里面包含Unicode有关,测试了3M的单行JSON不包含\u而是中文的情况下,也就是卡顿3s左右。skia引擎在处理unicode的时候在本来性能不高的情况下变得更差了,可能是踩到什么坑里面了。

Jingle-Pan commented 1 week ago

另一个原因好像是和里面包含Unicode有关,测试了3M的单行JSON不包含\u而是中文的情况下,也就是卡顿3s左右。skia引擎在处理unicode的时候在本来性能不高的情况下变得更差了,可能是踩到什么坑里面了。

能否先将unicode转换为utf-8,再用skia渲染

MegatronKing commented 5 days ago

@Jingle-Pan @flon-chou 您好,请更新2.30.2试试,卡顿已优化。

Jingle-Pan commented 5 days ago

@Jingle-Pan @flon-chou 您好,请更新2.30.2试试,卡顿已优化。

测试OK,赞

MegatronKing commented 5 days ago

感谢测试。