我将我的设置托管在 AWS EC2 上,在我的 ubuntu 机器上,运行带有 uwsgi 和 apache 的 django 服务器。我一直试图弄清楚为什么 dev env VS local env 有如此不同的性能。使用本地服务器,我在 80 毫秒内返回我的 index.html 页面,而在开发中它几乎需要 1 秒。我实现了 django-debug-toolbar,CPU 时间为 300 毫秒,但 chrome 表示加载时间为 1.3 秒(等待(TTFB))。另一个很大的区别是,当我打开带有 URL 的页面时,它需要 1 秒,但如果我输入服务器的 IP,它会在 300 毫秒内加载。
我已经尝试了所有方法,但无法弄清楚加载差异的原因。
我的 apache 虚拟主机:
<VirtualHost *:80>
<Location />
Options FollowSymLinks Indexes
SetHandler uwsgi-handler
uWSGISocket 127.0.0.1:3031
</Location>
</VirtualHost>
uWsgi 配置:
[uwsgi]
socket = 127.0.0.1:3031
chdir = /home/ubuntu/production/<mysite>
processes = 4
threads = 2
wsgi-file=<mysite/project>/wsgi.py
virtualenv=/home/ubuntu/production
venv = /home/ubuntu/production
buffer-size=32768
对于那些面临类似问题的人:我发现我的问题出在 cookie 上。我将网站内的浏览历史记录为一个数组。仍然没有弄清楚它减慢我的请求的技术原因,但这就是问题所在。