IT技术博客大学习 共学习 共进步
全部 移动开发 后端 数据库 AI 算法 安全 DevOps 前端 设计 开发者
首页 / Taobao Architecture Team
IT 2009-10-21 22:38:12 / 累计浏览 4,160

SysLog个人经验总结和分享

这篇讲的是一位实习生在淘宝平台架构组从零开始优化一个内部日志系统SysLog的全过程。系统最初非常简陋,日增数据量仅几万条,且数据展示逻辑粗糙。作者从接收毕玄提出的“让曲线按分钟显示实际值”这一简单需求入手,开始了漫长的迭代之路。 随着业务增长,数据量从日增几万飙升至500万以上,系统暴露出一系列连锁问题。针对“查询慢”,作者通过引入缓存表,将查询响应速度提升了约10倍;面对单表数据量暴增导致的内存溢出和系统不可用,果断实施了分库分表,并通过线程池实现多线程并行更新,反而提升了整体效率。当数据量增长到千万级,数据库负载过高时,方案演进为先将数据写入内存,再定期批量入库,这期间深入运用了ReentrantLock、ConcurrentHashMap等并发工具,并实践了JProfiler、jmap等工具进行内存泄漏排查。 文章最打动人的,不仅是这些具体的技术优化路径——从缓存、分表、多线程到内存缓冲——更是一位新手工程师在真实生产环境中,面对“页面加载需10分钟”、“内存被撑爆”等具体故障时,那种紧张、摸索、并最终解决问题的成长轨迹。它展示了一个系统如何伴随业务增长,通过一次次“补丁式”的优化逐步构建起高可用架构的完整缩影。

本机暂存
IT 2009-10-21 22:37:02 / 累计浏览 5,300

解开 phprpc 序列化性能高于 hessian 的秘密

这篇讲的是phprpc与hessian这两种序列化协议在性能上的直接较量。文章从“phprpc的性能在某些场景下甚至优于hessian”这个有点反直觉的结论切入,试图揭秘背后的真正原因。 作者没有停留在简单的跑分结果上,而是深入到了实现层面。关键差异可能在于两者序列化机制的根本不同:hessian作为一种二进制协议,追求的是紧凑与跨语言兼容性;而phprpc的设计可能在某些数据结构或编码策略上找到了更优的路径,比如针对特定类型的数据采用更精简的表示方法,或者在压缩与解压的权衡上做了更高效的取舍,从而在特定负载下赢得了速度优势。 文章最终会帮读者理清选择思路:如果你的场景高度契合phprpc的优势区间(例如大量使用其优化的数据类型),它可能带来惊喜;若更看重通用性、稳定性与跨语言生态,hessian依然是经过广泛验证的可靠选择。这种对具体技术细节的拆解,正是理解性能差异根源的关键。

本机暂存
IT 2009-10-21 22:35:07 / 累计浏览 2,140

Apache common-pool, common-dbcp源码解读与对象池原理剖析

作者从一个实际项目中的性能优化需求出发,分享了将传统数据库访问改造为连接池模式的经验。文章重点剖析了 Apache commons-pool 和 commons-dbcp 这两个连接池组件的源码与原理,并给出了令人信服的实战效果数据。 通过两次针对性的优化,一个原本耗时 500 多秒的测试类,性能得到了大幅跃升。首次优化后时间缩短至 300 多秒,而当作者进一步引入连接池技术后,同一测试类的运行时间锐减至 80 多秒。文章清晰地展示了对象池/连接池技术在减少资源创建销毁开销、提升系统吞吐量方面的巨大价值。 文中不仅剖析了核心实现思路,也结合了作者在源码阅读过程中的具体发现。对于想了解连接池工作原理,或是面临类似性能瓶颈的开发者而言,这是一个从背景、方案到量化结论的完整实践案例。

本机暂存