每个客户端打开两个以上的apache连接

时间:2012-01-25 23:21:12

标签: php apache api amazon-s3 phpfox

这里有点奇怪的问题。我们正在将网站迁移到新的软件平台。作为此迁移的一部分,我们必须将文件从一个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

感谢阅读!

1 个答案:

答案 0 :(得分:0)

大多数Web浏览器都限制了它们对给定Web服务器的并发连接数。我不确定所有浏览器,但我知道可以配置的一个浏览器是Mozilla Firefox,使用Fasterfox扩展:

https://addons.mozilla.org/en-US/firefox/addon/fasterfox-9148/

话虽如此 - 你真的没有办法编写脚本来在服务器上进行迁移,而不是通过Web界面运行吗?