Files
geedge-jira/md/OMPUB-411.md
2025-09-14 21:52:36 +00:00

14 KiB
Raw Blame History

福建安全日志中的http_request_body下载失败

ID Creation Date Assignee Status
OMPUB-411 2022-03-01T09:19:29.000+0800 彭宣正 已关闭

No description


liuxueli commented on 2022-03-01T09:56:41.796+0800:

  • [~pengxuanzheng] 描述一下排查过程及结论

pengxuanzheng commented on 2022-03-01T18:49:25.052+0800:

hos请求任务缓存大于了每个线程允许的最大缓存数丢弃这条请求没有发送hos请求。

!image-2022-03-01-18-25-30-689.png!

但是在安全日志里面却出现了这条这条URL

!image-2022-03-01-18-27-45-315.png!

 

{color:#172b4d}原因{color}检查代码发现在不满足发送hos请求条件的情况下http content内容不满足hos最小的发送条件会将需要上传的内容缓存起来并返回成功此时并没有发送hos请求而是等待缓存内容足够大时发送hos请求旨在减少发送hos频率提高性能。此时fw_http_plug会认为上传成功并将hos 的url写入日志中。当hos真正准备发送put请求时发现此时的任务请求队列已经满了遂丢弃该请求但此时日志已经发送出去了导致界面上出现了有url却无法下载的情况。

 

{color:#FF0000}临时解决方法{color}暂时关闭hos的缓存功能来不及发送的请求不再缓存。

{color:#FF0000}具体操作{color}:在/opt/tsg/sapp/tsgconf/main.conf中 [HOS_CONF]模块的hos_cache_size设置为0hos_request_num设置为0

{color:#FF0000}风险{color}虽然可以避免出现有url却无法下载的情况但在高并发的情况下多数hos请求将会由于性能限制被丢弃。也就是说界面上的安全日志的http_request_body和http_response_body的可下载文件将会

比设置之前少

 

 

 


zhangzhihan commented on 2022-03-02T15:12:26.886+0800:

修改[HOS_CONF]的hos_cache_size和hos_request_num配置后sapp内存占用会非常快大概20min就会占用130+GB的内存然后服务器没有内存了sapp报错“sapp.service watchdog timeout(limit 10s)!”然后sapp重启

!image-2022-03-02-15-11-23-873.png!


pengxuanzheng commented on 2022-03-02T15:23:19.814+0800:

查看代码发现cache_size为0的情况下没有对cache_size进行检查就进行了减操作导致产生了一个特别大的数在hos缓存了大量数据在快速消耗内存


gitlab commented on 2022-03-02T18:35:58.072+0800:

[彭宣正|https://git.mesalab.cn/pxz] mentioned this issue in [a commit|d4e8b149c8] of [彭宣正 / hos_client_cpp_module|https://git.mesalab.cn/pxz/hos_client_cpp_module] on branch [bugfix-9807|https://git.mesalab.cn/pxz/hos_client_cpp_module/-/tree/bugfix-9807]:{quote}🐞 fix(TSG-9807): 规范错误信息输出,并增加返回的错误码{quote}


gitlab commented on 2022-03-04T10:59:23.110+0800:

[彭宣正|https://git.mesalab.cn/pxz] mentioned this issue in [a commit|7bc08418ad] of [彭宣正 / hos_client_cpp_module|https://git.mesalab.cn/pxz/hos_client_cpp_module] on branch [bugfix-9807|https://git.mesalab.cn/pxz/hos_client_cpp_module/-/tree/bugfix-9807]:{quote}🐞 fix(TSG-9807): 修复cache_size设置为0导致的内存快速消耗{quote}


gitlab commented on 2022-03-04T11:31:41.259+0800:

[彭宣正|https://git.mesalab.cn/pxz] mentioned this issue in [a commit|9f8d0a7614] of [彭宣正 / hos_client_cpp_module|https://git.mesalab.cn/pxz/hos_client_cpp_module] on branch [bugfix-9807|https://git.mesalab.cn/pxz/hos_client_cpp_module/-/tree/bugfix-9807]:{quote}🐞 fix(TSG-9807): 修复cache_size设置为0导致的内存快速消耗{quote}


gitlab commented on 2022-03-04T11:41:52.113+0800:

[彭宣正|https://git.mesalab.cn/pxz] mentioned this issue in [a commit|e2fc84674a] of [彭宣正 / hos_client_cpp_module|https://git.mesalab.cn/pxz/hos_client_cpp_module] on branch [bugfix-9807|https://git.mesalab.cn/pxz/hos_client_cpp_module/-/tree/bugfix-9807]:{quote}🐞 fix(TSG-9807): 修复cache_size设置为0导致的内存快速消耗{quote}


gitlab commented on 2022-03-04T11:52:14.525+0800:

[彭宣正|https://git.mesalab.cn/pxz] mentioned this issue in [a commit|c042dc30d3] of [彭宣正 / hos_client_cpp_module|https://git.mesalab.cn/pxz/hos_client_cpp_module] on branch [bugfix-9807|https://git.mesalab.cn/pxz/hos_client_cpp_module/-/tree/bugfix-9807]:{quote}🐞 fix(TSG-9807): 修复cache_size设置为0导致的内存快速消耗{quote}


gitlab commented on 2022-03-04T12:21:29.048+0800:

[彭宣正|https://git.mesalab.cn/pxz] mentioned this issue in [a commit|b2364885f5] of [彭宣正 / hos_client_cpp_module|https://git.mesalab.cn/pxz/hos_client_cpp_module] on branch [bugfix-9807|https://git.mesalab.cn/pxz/hos_client_cpp_module/-/tree/bugfix-9807]:{quote}🐞 fix(TSG-9807): 修复cache_size设置为0导致的内存快速消耗{quote}


gitlab commented on 2022-03-04T12:36:05.478+0800:

[彭宣正|https://git.mesalab.cn/pxz] mentioned this issue in [a commit|16d71d2fe6] of [彭宣正 / hos_client_cpp_module|https://git.mesalab.cn/pxz/hos_client_cpp_module] on branch [bugfix-9807|https://git.mesalab.cn/pxz/hos_client_cpp_module/-/tree/bugfix-9807]:{quote}🐞 fix(TSG-9807): 修复cache_size设置为0导致的内存快速消耗{quote}


gitlab commented on 2022-03-04T13:00:26.486+0800:

[彭宣正|https://git.mesalab.cn/pxz] mentioned this issue in [a commit|977ace35c6] of [彭宣正 / hos_client_cpp_module|https://git.mesalab.cn/pxz/hos_client_cpp_module] on branch [bugfix-9807|https://git.mesalab.cn/pxz/hos_client_cpp_module/-/tree/bugfix-9807]:{quote}🐞 fix(TSG-9807): 修复cache_size设置为0导致的内存快速消耗{quote}


gitlab commented on 2022-03-04T13:08:53.937+0800:

[彭宣正|https://git.mesalab.cn/pxz] mentioned this issue in [a merge request|https://git.mesalab.cn/pxz/hos_client_cpp_module/-/merge_requests/47] of [彭宣正 / hos_client_cpp_module|https://git.mesalab.cn/pxz/hos_client_cpp_module] on branch [bugfix-9807|https://git.mesalab.cn/pxz/hos_client_cpp_module/-/tree/bugfix-9807]:{quote}🐞 fix(TSG-9807): 修复cache_size设置为0导致的内存快速消耗{quote}


gitlab commented on 2022-03-04T13:09:01.240+0800:

[彭宣正|https://git.mesalab.cn/pxz] mentioned this issue in [a commit|fce8d97495] of [彭宣正 / hos_client_cpp_module|https://git.mesalab.cn/pxz/hos_client_cpp_module] on branch [bugfix-9807|https://git.mesalab.cn/pxz/hos_client_cpp_module/-/tree/bugfix-9807]:{quote}🐞 fix(TSG-9807): 修复cache_size设置为0导致的内存快速消耗{quote}


gitlab commented on 2022-03-04T13:32:20.157+0800:

[彭宣正|https://git.mesalab.cn/pxz] mentioned this issue in [a commit|4299c07a02] of [TSG / tsg-os-buildimage|https://git.mesalab.cn/tsg/tsg-os-buildimage] on branch [update-hos-client-cpp|https://git.mesalab.cn/tsg/tsg-os-buildimage/-/tree/update-hos-client-cpp]:{quote}🐞 fix(TSG-9807): update hos-client-cpp-3.0.2 to hos-client-cpp-3.0.3{quote}


gitlab commented on 2022-03-04T13:33:20.190+0800:

[彭宣正|https://git.mesalab.cn/pxz] mentioned this issue in [a merge request|https://git.mesalab.cn/tsg/tsg-os-buildimage/-/merge_requests/645] of [TSG / tsg-os-buildimage|https://git.mesalab.cn/tsg/tsg-os-buildimage] on branch [update-hos-client-cpp|https://git.mesalab.cn/tsg/tsg-os-buildimage/-/tree/update-hos-client-cpp]:{quote}🐞 fix(TSG-9807): update hos-client-cpp-3.0.2 to hos-client-cpp-3.0.3{quote}


gitlab commented on 2022-03-07T16:26:59.232+0800:

[彭宣正|https://git.mesalab.cn/pxz] mentioned this issue in [a commit|dbdf757aac] of [彭宣正 / hos_client_cpp_module|https://git.mesalab.cn/pxz/hos_client_cpp_module] on branch [bugfix-tsg-9807|https://git.mesalab.cn/pxz/hos_client_cpp_module/-/tree/bugfix-tsg-9807]:{quote}🐞 fix(TSG-9807): 保持fd在整个上传过程中一致{quote}


gitlab commented on 2022-03-07T16:27:29.368+0800:

[彭宣正|https://git.mesalab.cn/pxz] mentioned this issue in [a merge request|https://git.mesalab.cn/pxz/hos_client_cpp_module/-/merge_requests/48] of [彭宣正 / hos_client_cpp_module|https://git.mesalab.cn/pxz/hos_client_cpp_module] on branch [bugfix-tsg-9807|https://git.mesalab.cn/pxz/hos_client_cpp_module/-/tree/bugfix-tsg-9807]:{quote}🐞 fix(TSG-9807): 保持fd在整个上传过程中一致{quote}


gitlab commented on 2022-03-08T14:32:27.521+0800:

[彭宣正|https://git.mesalab.cn/pxz] mentioned this issue in [a commit|7de1970f87] of [彭宣正 / hos_client_cpp_module|https://git.mesalab.cn/pxz/hos_client_cpp_module] on branch [develop-tsg-9807|https://git.mesalab.cn/pxz/hos_client_cpp_module/-/tree/develop-tsg-9807]:{quote}🎈 perf(TSG-9807): 修改打印信息{quote}


zhangzhihan commented on 2022-03-13T21:47:37.363+0800:

最新进展: 在福州部署完TSG 22.01集群后当天更新了2台功能端连接新集群下载日志文件正常3.12日发现无法下载短时间的日志文件只能下载超过1小时的日志文件

目前hos版本 libhos-client-cpp-3.0.2.31c56ed-1.x86_64 hos_cache_size=102400 hos_request_num=1000

fw_http_plug版本 fw_http_plug-4.0.12.010ebc5-1.x86_64


pengxuanzheng commented on 2022-03-17T15:03:02.375+0800:

目前的情况是hos采用异步上传的方式为了保证日志可以及时的发出去并不会等待hos上传的结果。在日志中填写hos url下载路径的时机是在hos客户端将hos上传任务添加至任务队列时所以在发送日志的时候hos上传请求不一定已经发送出去。而发送hos上传请求的线程需要等待hos服务端的响应才能结束一次完整的上传。如果响应时间过长将会导致任务队列的任务积压导致后续的任务无法及时执行。

在公司环境和hos 服务端联调测试hos客户端最多一秒可以上传2800左右的上传请求每次上传内容5k左右hos服务端均可以及时响应。现场经计算大概每秒会产生5500个左右的请求30台机器共

后续希望可以监测到每条hos请求入队出队以及执行完成所花费的时间。由于aws s3不支持这种检测行为并且aws s3 多数功能并不在生产环境中使用拟使用轻量级的curl加无锁线程池来代替aws s3的功能对hos的每个过程进行完整的性能监测


gitlab commented on 2022-03-22T14:53:33.502+0800:

[彭宣正|https://git.mesalab.cn/pxz] mentioned this issue in [a merge request|https://git.mesalab.cn/pxz/hos_client_cpp_module/-/merge_requests/50] of [彭宣正 / hos_client_cpp_module|https://git.mesalab.cn/pxz/hos_client_cpp_module] on branch [develop-tsg-9807|https://git.mesalab.cn/pxz/hos_client_cpp_module/-/tree/develop-tsg-9807]:{quote}🎈 perf(TSG-9807): 修改打印信息{quote}


gitlab commented on 2022-06-07T19:07:05.067+0800:

[彭宣正|https://git.mesalab.cn/pxz] mentioned this issue in [a commit|d4c4941079] of [TSG / tsg-os-buildimage|https://git.mesalab.cn/tsg/tsg-os-buildimage]:{quote}🐞 fix(OMPUB-411): 使用curl上传取代aws s3增加性能监测{quote}


gitlab commented on 2022-06-07T19:07:05.144+0800:

[彭宣正|https://git.mesalab.cn/pxz] mentioned this issue in [a commit|743914361e] of [TSG / tsg-os-buildimage|https://git.mesalab.cn/tsg/tsg-os-buildimage] on branch [update-tsg_conn_sketch|https://git.mesalab.cn/tsg/tsg-os-buildimage/-/tree/update-tsg_conn_sketch]:{quote} feat(OMPUB-411): 更新HOS 配置{quote}


gitlab commented on 2022-06-07T19:07:49.348+0800:

[彭宣正|https://git.mesalab.cn/pxz] mentioned this issue in [a commit|8e99c10346] of [TSG / tsg-os-buildimage|https://git.mesalab.cn/tsg/tsg-os-buildimage] on branch [update-tsg_conn_sketch|https://git.mesalab.cn/tsg/tsg-os-buildimage/-/tree/update-tsg_conn_sketch]:{quote} feat(OMPUB-411): 更新HOS 配置{quote}


gitlab commented on 2022-06-07T19:07:49.556+0800:

[彭宣正|https://git.mesalab.cn/pxz] mentioned this issue in [a commit|3b3747b4ac] of [TSG / tsg-os-buildimage|https://git.mesalab.cn/tsg/tsg-os-buildimage]:{quote}🐞 fix(OMPUB-411): 使用curl上传取代aws s3增加性能监测{quote}


Attachments

25767/image-2022-03-01-18-25-30-689.png


25768/image-2022-03-01-18-27-45-315.png


25769/image-2022-03-01-18-30-28-642.png


25785/image-2022-03-02-15-11-23-873.png