我有一个运行基本 LAMP 堆栈的 EC2 实例作为网络服务器。用户可以通过我的网络应用程序上传照片,然后将照片存储在一个目录中并记录在 MySQL 中。通常,这些上传速度与用户的互联网上传速度允许的一样快。
不幸的是,多个用户报告说有时照片上传速度变慢 - 每张照片最多需要 2 分钟,而在其他网站上,用户可以更快地上传。
如何优化 Apache(我假设它是 Apache?)以免成为瓶颈?这个问题可以用 MPM Preforking 解决吗?还是可能是数据库锁定问题?
此设置的一些额外统计信息(非常普通):
实例类型:t2.small
EBS 优化:错误
PHP v5.4
服务器版本:Apache/2.4.18(亚马逊)
我认为唯一相关的另一件事是,上传照片时,它会通过 Imagick 调整为缩略图大小(这显然有点占用 CPU,但通常速度非常快)。
最佳答案
出现这种问题的原因有很多。但在您可以控制的变量中,您可以从网络节流开始。基本上假设您的应用程序中有十个用户。都具有相同的上传速度。当他们都同时尝试上传图像时。假设九个会获得良好的速度。但是因为你的服务器只能有一个固定的传输速率,九个人都在使用,即使第十个人具有相同的网络性能,他上传图像的速度也会变慢。要处理此问题,您可以限制服务器中每个连接的速度,这也称为网络限制。 可以在 apache 中找到相同的配置 here .但这同样只是一种猜测,在现实生活中可能有很多因素。
关于php - 在 Apache (EC2) 上文件上传速度比用户的网络上传速度慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36365976/