为了进一步优化App性能,最近针对如何提高应用对CPU的资源使用、以及在多线程环境下如何提高关键线程的执行优先级做了技术调研。本文是对技术调研过程的阶段性总结,将分别介绍普通应用如何调控App频率、如何将指定线程绑定到特定CPU、如何通过提升线程优先级获得更多CPU时间片。
近日,在国际数据库领域顶级会议ACM SIGMOD23上,阿里云数据库与浙江大学合作的一篇论文《Detecting Logic Bugs of Join Optimizations in DBMS》获得最佳论文。
每个程序员都会讨厌两件事情,阅读没有注释的代码,给代码写注释。那么如何一次解决两大难题,不用写注释,也不会被他人吐槽没有注释呢?
随着上云项目的不断推进,大量的应用需要部署到 aws 上,其中有很多应用都依赖延迟队列的功能。而在 aws 上,我们选择以 Kafka 作为消息队列,但是 Kafka 本身不支持延迟队列,这就需要思考如何基于 Kafka 来实现延迟队列。
ChatGPT 是一种强大的自然语言处理模型。在工作中,我们可以借助其卓越的自然语言生成能力,快速检索代码信息,使程序员们能更加专注于业务逻辑的实现和优化。然而,由于它的知识库仅覆盖至 2021 年 9 月前的信息,一些新的技术文档无法被查询到,例如我们公司前端经常使用的开源框架 TDesign。本文讲解了本人为了解决这一痛点的实验过程,即通过应用 embedding 技术并结合 AST 解释器,实现了对 TDesign 代码知识库的自然语言查询。在 30 个常见用例的测试下,查询精度达到了 90%。常用组件的检索时间从平均 10 分钟缩短至 2 分钟,从而提升了前端研发效率 20%。
微信作为月活过10亿的国民级应用,其安全能力备受关注。值得注意的是,没有足够的特征数据,安全策略将是"无根之木,无源之水"。微信安全数据仓库作为安全业务的特征数据存储中心,每天服务了万亿级的特征数据读写请求,为整个微信安全策略提供了可靠的数据支撑,是微信安全的一块基石。事实上,微信安全数据仓库不仅仅是一个存储中心,更是一个特征管理和数据质量管理的中心。本文将介绍安全数据仓库的起源、演进、当前的架构设计和数据质量保证系统的实现,请往下阅读。
在之前的文章中,我们讨论了如何使用 SkyWalking 和 eBPF 来检测性能问题,包括进程 [1] 和 网络 [2]。这些方法可以很好地定位问题,但仍然存在一些挑战: 1. 任务启动的时间: 当需要进行性能监控时,解决需要性能监控的进程始终是一个挑战。通常需要手动参与,以标识进程和所需的性能分析类型,这会在崩溃恢复期间耗费额外的时间。根本原因定位和崩溃恢复时间有时会发生冲突。在实际情况中,重新启动可能是恢复的第一选择,同时也会破坏崩溃的现场。 2. 任务的资源消耗: 确定分析范围的困难。过宽的分析范围会导致需要更多的资源。我们需要一种方法来管理资源消耗并了解哪些进程需要性能分析。 3. 工程师能力: 通常由整个团队负责呼叫,其中有初级和高级工程师,即使是高级工程师也对复杂的分布式系统有其理解限制,单个人几乎无法理解整个系统。 持续剖析(Continuous Profiling) 是解决上述问题的新机制。