首页 > 其他分享 >5月10日总结

5月10日总结

时间:2023-05-12 22:57:11浏览次数:34  
标签:总结 10 优化 占用 日志 上传 CPU SDK

SDK日志上传性能优化
问题描述
在SDK初始化时,会在init方法中开启一个倒计时,在5s倒计时结束后使用子线程将本地保存的历史日志信息上传到后台。
因业务需要,在日志在发送上传前,需要对日志数据做编码和特殊字符替换,而日志文件里包含的日志数据量相比于一般方法中的局部变量要大很多,所以这样集中对日志文件数据的编码和替换就直接导致了CPU占用过高,造成了宿主APP短时间卡住的情况。所以导致了因为SDK体验问题,日志启动上传功能只能被迫关闭,等待优化。

背景描述
SDK在使用过程中会产生日志,在操作正常情况下,一个流程结束就会把当前单次产生的日志上传到后台。而对于异常退出或其他异常时,日志就保留在了本地,等SDK第二次启动时时再上传。

问题解决情况
优化前:SDK启动时,上传日志对CPU的占用量为100%,占用时间为0.5s左右,
优化后:SDK启动时,上传日志对CPU的占用量为40%左右,占用时间为1.5s左右。

CPU使用情况数据采集如下,CPU采集频率为0.5s。
优化前CPU使用情况:

优化后CPU使用情况:

标签:总结,10,优化,占用,日志,上传,CPU,SDK
From: https://www.cnblogs.com/lmyy/p/17396483.html

相关文章

  • 5月9日总结
    Rocky9Linux软件安装neovim和git目录编辑器Neovim版本控制工具GitRHEL系列软件安装介绍软件安装包简介源码包安装rpm包安装yum&dnf在线安装脚本安装包rockyLinux介绍软件安装我主要挑了编辑器neovim和版本管理控制工具Git进行介......
  • 5月8日总结
    本文首发于公众号:Hunter后端原文链接:Django笔记四十之运行Django环境的python脚本这一篇笔记介绍如何在Django中运行脚本。假设说我们要实现一个功能,需要获取blog.models.Blog这张表里的总数且使用print()输出。如果代码逻辑很短,且是一次性执行的操作,我们可以在系统的......
  • 5月12日总结
    对工厂模式一次感悟从开始接触设计模式的“什么都可以用设计模式去设计”,到接触一段时间之后的“用什么设计模式,直接莽就是了”。一直到现在,对设计模式的认知一直都处在一个模糊的状态。之前虽然也自己尝试在项目中使用一些设计模式,但总是体会不到设计模式在实际使用中的好处,直到......
  • 5月11日总结
    初级篇AOP是什么?Aspect-orientedProgramming(AOP)即面向切面编程。简单来说,AOP是一种编程范式,允许我们模块化地定义横跨多个对象的行为。AOP可以帮助我们将应用程序的关注点分离,使得代码更加清晰、易于维护和扩展。大白话:在方法执行前后运行指定代码,比如日志记录、事务开......
  • 1011 A+B 和 C(C++)
    一、问题描述:给定区间[−231,231]内的3个整数 A、B 和 C,请判断 A+B 是否大于 C。输入格式:输入第1行给出正整数 T (≤10),是测试用例的个数。随后给出 T 组测试用例,每组占一行,顺序给出 A、B 和 C。整数间以空格分隔。输出格式:对每组测试用例,在一行中输出 C......
  • 第一阶段冲刺总结(不被踢的理由)
    本组是第21组,组内的人数为三人,团队选择的项目开始是智能排班系统,之后考虑到其他情况换成了智能家居系统,第一阶段的冲刺之后我的组内排名是第三名。在第一阶段的工作之中,我做的工作的大多不是能看到太多的实际性内容,或者说更多情况下做的是团队的总体统方面:    在第一个......
  • 【攻防世界逆向】《re1-100》《EasyRE》《parallel-comparator-200》《simple-check-1
    题目re-100解法exeinfo无壳64位放进ida64上面很多内容,比较冗长,下面这些判断比较吸睛。大概就是进行一些对比后最后和一个字符串进行比较。直接提交,失败的。那我看一下上面的这个函数做了什么。是将这个字符串打乱了,打乱了之后才是下面那个。所以我们将原字符串10位分一个......
  • MX5108n
    DellMX7000的交换机MX5108n有1个40G,两个100G和4个10G接口1-8为内部25G口940G10、11100G12-1510G命令和思科的差不多查看vlt:showvlt100showvlt100vlt-port-detail查看网口配置:showinterfaceethernet1/1/10貌似这个QSFP28模块由于兼容性问题被认为是40G…正常来说应......
  • 每日总结-23.5.12
    <%HttpSessionhttpSession=request.getSession();//Stringtea_id=(String)httpSession.getAttribute("id_");Stringtea_id=request.getParameter("id_");Thesqlthesql=newThesql();request.setCharacterEncoding(......
  • 2023.5.12每日总结
    packageshiyan;importjava.sql.*;importjava.text.ParseException;importjava.text.SimpleDateFormat;importjava.util.Date;publicclassAllMethods{publicConnectionconnect;publicAllMethods()throwsException{Class.forName(&q......