在 Debian 上优化 Python 性能,可以从系统层面、Python 运行环境、代码层面、并发与架构几个方向来做。下面按实用程度整理一份清单。
Debian 默认 Python 可能较旧(如 3.9/3.11)。
# 查看当前版本
python3 --version
推荐:
deadsnakes 或编译安装 3.12+编译示例:
sudo apt install -y build-essential libssl-dev zlib1g-dev \
libffi-dev libbz2-dev libreadline-dev libsqlite3-dev
wget https://www.python.org/ftp/python/3.12.2/Python-3.12.2.tgz
tar xzf Python-3.12.2.tgz
cd Python-3.12.2
./configure --enable-optimizations
make -j$(nproc)
sudo make altinstall
python3 -m venv venv
source venv/bin/activate
performance CPU 模式:sudo apt install linux-tools-common
sudo cpupower frequency-set -g performance
| 方案 | 说明 |
|---|---|
| CPython + 优化 | 最通用 |
| PyPy | 长期运行程序快 3–10 倍 |
| CPython 3.12+ | 性能明显提升 |
# 安装 PyPy
sudo apt install pypy3
pypy3 app.py
PYTHONOPTIMIZEexport PYTHONOPTIMIZE=1
python3 app.py
或:
python3 -O app.py
orjson 替代 jsonujsonnumpy / pandas 做数值计算cython / numba 加速热点代码pip install py-spy
py-spy top --pid <pid>
或:
python3 -m cProfile app.py
join 代替字符串 +set / dict 替代 list 查找示例:
# 慢
if x in list_data: ...
# 快
if x in set_data: ...
from numba import njit
@njit
def compute(x):
return x * x
from multiprocessing import Pool
with Pool() as p:
p.map(func, data)
pip install asyncio aiohttp
gunicorn -w 4 -k uvicorn.workers.UvicornWorker app:app
不要用 sudo pip install
用:
python3 -m pip install xxx
ulimit -n 65535
普通服务
Debian 12 + Python 3.11 + venv + gunicorn
高性能计算
Debian + Python 3.12 + numpy + numba
长期运行
PyPy3
如果你能说明:
我可以给你更针对性的优化方案。