Apache(EC2)上的文件上传速度低于用户的网络上传速度

Jer*_*rod 6 php mysql apache performance amazon-ec2

我有一个运行基本LAMP堆栈的EC2实例作为Web服务器.用户可以通过我的Web应用程序上传照片,然后将照片存储在目录中并记录在MySQL中.通常,这些上传速度与用户的互联网上传速度允许的速度一样快.

不幸的是,有多个用户报告有时照片上传速度正在放慢 - 每张照片最多需要2分钟,而在其他网站上,用户可以更快地上传.

我如何优化Apache(我假设它是Apache?)不​​成为瓶颈?MPM Preforking可以解决这个问题吗?或者它可能是数据库锁定问题?


这个设置的一些额外的统计数据(它非常香草):

Instance Type: t2.small EBS-optimized: False PHP v5.4 Server version: Apache/2.4.18 (Amazon)

我正在考虑的另一件事是,当照片上传时,它会通过Imagick调整为缩略图大小(显然有点CPU密集,但通常它很快).

geo*_*oot 1

出现此类问题可能有多种原因。但在您可以控制的变量中,您可以从网络限制开始。基本上假设您的应用程序有十个用户。全部具有相同的上传速度。当他们同时尝试上传图像时。假设九个会获得良好的速度。但是因为你的服务器只能有一个固定的传输速率,而这九个人都在使用,即使第十个人具有相同的网络性能,他上传图像的速度也会变慢。为了解决这个问题,您可以限制服务器中每个连接的速度,这也称为网络限制。在 apache 中配置相同的内容可以在这里找到。但这同样只是一种猜测,在现实生活中可能有很多因素。