这里有点奇怪的问题。我们正在将网站迁移到新的软件平台。作为此迁移的一部分,我们必须将文件从一个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日历ctype curl dom fileinfo过滤器ftp gd hash iconv SPL json mbstring mysql会话标准posix反射Phar SimpleXML套接字SQLite imap tokenizer xml xmlreader xmlwriter zip apache2handler
MYSQL:MySQL 5.0.92-community
感谢阅读!
答案 0 :(得分:0)
大多数Web浏览器都限制了它们对给定Web服务器的并发连接数。我不确定所有浏览器,但我知道可以配置的一个浏览器是Mozilla Firefox,使用Fasterfox扩展:
https://addons.mozilla.org/en-US/firefox/addon/fasterfox-9148/
话虽如此 - 你真的没有办法编写脚本来在服务器上进行迁移,而不是通过Web界面运行吗?