这里有点奇怪的问题。我们正在将网站迁移到新的软件平台。作为此迁移的一部分,我们必须将文件从一个 Amazon S3 存储桶复制到另一个存储桶。有数十万个文件。
我们还必须使用我们拥有的软件(phpFox)来做到这一点。基本上是一个php框架。
该作业被分解为我们使用 URL 中的偏移量调用的段。
基本上:复制 10 个文件并根据需要更新数据库 将偏移量增加 10 冲洗,重复。
API 流量很轻,服务器上的负载低于 1%,但是,如果我们在任何一台机器上打开两个以上的选项卡到服务器,脚本开始按比例减慢,好像 Web 服务器 (Apache) 正在排队命令而不是并行运行它们。
我们发现,如果我们在许多机器上打开两个选项卡,它会按预期扩大。为了使我们的上行链路饱和或在服务器上施加任何明显的负载,我们需要用笔记本电脑填满房间。虽然很可笑,但这也是非常不切实际的,而且通常会让人头疼。这里必须有更好的方法。
我尝试将最大备用进程和每个孩子的请求数等增加 10 倍,但速度没有明显提高。我们缺少什么?我如何很好地告诉 Apache 暂时让任何人连接任意次数并发疯?
PHP 5.3.8 PHP Sapi:apache2handler PHP 加载扩展:核心日期 ereg libxml openssl pcre sqlite3 zlib bcmath calendar ctype curl dom fileinfo filter ftp gd hash iconv SPL json mbstring mysql session standard posix Reflection Phar SimpleXML sockets SQLite imap tokenizer xml xmlreader xmlwriter zip apache2handler
MYSQL:MySQL 5.0.92-社区
谢谢阅读!