诊断 Django Web 应用程序流量增加的原因

诊断 Django Web 应用程序流量增加的原因

这个问题是关于诊断面向互联网的 Web 应用程序中网络流量增加的原因。

背景:所讨论的网络应用程序是一个基于 Django 的论坛,用户可以在其中上传图像和文本内容,然后进行讨论。

基础设施:操作系统是Ubuntu 14.04。Web 服务器是gunicorn用作nginx反向代理的。应用程序及其数据库托管在一台机器上,即 AWS EC2 实例。最后,所有图像都从 AWS S3 存储桶保存(并提供)。

症状: NetworkOut2019 年 4 月 4 日突然翻倍。看这里:

在此处输入图片描述

NetworkIn有类似的效果:

在此处输入图片描述

我们的 S3 存储桶的每月总GET请求量从约 6600 万(我们的通常水平)增加到约 1.3 亿。每月网络传输量从约 1.4 TB 跃升至 2.2 TB。这种增强效应仍在持续,看不到尽头。这几乎就像我们所有的服务器调用都增加了一倍,同时精确地遵循我们日常用户流量的特征。

还要注意什么没有改变:CPU Utilization实际上保持不变。看:

在此处输入图片描述

同样,Disk I/O我们的用户群也基本保持不变。我们的用户群基本保持不变(包括月度和每日用户)。用户参与度(页面浏览量、会话长度等)基本保持不变。新增内容的数量(例如,每天添加的图片)基本保持不变。

最后,当此活动于 4 月 4 日开始时,应用程序源代码没有任何变化。不过,1 天后进行了一些更改(此后进行了许多更改)。

我尝试过的:我查看了 nginx 和 S3 日志。这是一个庞大的网站。我看到了大量用户发起的请求。很容易迷失其中。总的来说,没有什么明显的恶意行为引起我的注意。我可能错过了什么。

目前我不确定如何诊断此问题。我感觉有些配置错误。如果能从行业专家那里获得建议就太好了。提前谢谢,请随时向我询问其他详细信息。我会将它们作为更新添加到问题底部。


以下是 的输出free -m

             total       used       free     shared    buffers     cached
Mem:         63802      57141       6660       6799        147      24454
-/+ buffers/cache:      32539      31262
Swap:            0          0          0

相关内容