工程上的一些想法

由于过往的各种条件限制,如数据库性能不够、PaaS 平台功能不足、对特定领域的问题理解不充分,线上的服务一定会有很多妥协解决方案。这些问题不会让服务彻底不可用,但一定会困扰团队,容易让人担忧系统的可靠性。特别是提供 toB 服务而言可靠性与准确性是一样重要的。 ...

 · 4 min · 1594 words · ringsaturn

近期做测试和采样的一些记录

这阵子做的工作主要和性能优化有关,之前的一篇谈了如何获得采样数据,这里保存一些测试和采样的记录。

 · 3 min · 1089 words · ringsaturn

对 Flask 应用做采样分析

在 Python3.7 环境下,Uber 开源的 PyFlame 无法使用,而在容器环境中,py-spy 又有诡异的问题。考量各种「采样」工具后,发现只有内置的 cProfile 才是稳定、可靠的。 但是对于复杂的 Flask App,大量使用 cProfile 执行采样非常不方便。本文将给出一个在 Python3.7 的容器环境下经测试可以正常工作的例子。原理是在 app 初始化后,添加 werkzeug ProfilerMiddleware(也许可以翻译成采样中间件)。 ...

 · 2 min · 532 words · ringsaturn