Web 开发 说一说 Flask-session 的坑 在几个月之前,我将每课 server 的 session 存储位置从 Flask 默认的客户端迁移到了服务器端,使用到的是 Flask-session 这个包,后端存储选用的是 MongoDB。近些日子以来,网站打开速度越来越慢,通过 APM 的报表中可以看到写入 session 这一步最多的时候竟然需要花费 40 秒之巨!看来需要一点措施来解决问题了。
Python 我如何对 uWSGI 进行性能调优(3):使用协程 在上一篇文章中,我们谈到了不能随意设置 uWSGI worker 数量的原因,并通过实验大致推算出了在 CPU-bound 的程序中 worker 的最佳数量。然而真实的环境中并不总是 CPU-bound 的,因此今天我们将使用协程( coroutine )来优化 IO-bound 时的情况。
Python Python Web 内存调优,以及 Python 中的 Copy-on-Write 最近把所有服务迁移到 Kubernetes 之后,终于可以直观地通过可视化面板观察容器的资源使用情况了。在看的时候发现自己写的 Python Web 项目一启动就要占用 250MB 左右内存,感觉有点偏高,于是尝试优化。这篇文章牵涉到 Linux 的 CoW 在 Python 中的处理方式,目前中文互联网上没有什么资料,于是我顺便填补一下这个空白。
Python Sentry SDK 导致 Python 出现段异常 最近在每课服务器端内存优化的时候更改了 fork () 函数执行的位置,然而修改之后却导致程序在运行时出现段异常。对于 Python 开发者来说,段异常这类底层的异常并不多见,因此调试过程也值得记录一下。
Python 我如何对 uWSGI 进行性能调优(2):设定 worker 数量 在上一篇文章中,我们谈到了不能随意设置 uWSGI worker 数量的原因,并通过实验大致推算出了在 CPU-bound 的程序中 worker 的最佳数量。然而真实的环境中并不总是 CPU-bound 的,因此今天我们将使用协程( coroutine )来优化 IO-bound 时的情况。
Python 我如何对 uWSGI 进行性能调优(1):快速参数调整 uWSGI 是 Python Web 世界里广泛采用的应用服务器。它的配置非常复杂,如果要用于生产环境,有很多东西值得细细了解。本篇文章作为自己进行性能调优的记录。