PHP5+;MongoDB 2.6+;PHP驱动程序1.5.1-C10k Apache worker/prefork

PHP5+;MongoDB 2.6+;PHP驱动程序1.5.1-C10k Apache worker/prefork,php,apache,mongodb,scalability,mongodb-php,Php,Apache,Mongodb,Scalability,Mongodb Php,我们目前正在迁移到一个生产环境(MongoDB+PHP),在测试并发性(使用loader.io)时,我很难达到10k并发连接 我的测试脚本非常基本,只是一个连接到数据库的简单MongoClient::构造和一个静态echo 我在apache中尝试了两种MPM,但均未成功: 1.Prefork+mod_php—瓶颈不是连接,而是内存—每个php进程使用了约2亿个—根本不可伸缩。 2.Worker+PHP-FPM—在2000-3000次连接之后,我开始在PHP机器上看到许多错误,包括关于没有候选服务

我们目前正在迁移到一个生产环境(MongoDB+PHP),在测试并发性(使用loader.io)时,我很难达到10k并发连接

我的测试脚本非常基本,只是一个连接到数据库的简单MongoClient::构造和一个静态echo

我在apache中尝试了两种MPM,但均未成功: 1.Prefork+mod_php—瓶颈不是连接,而是内存—每个php进程使用了约2亿个—根本不可伸缩。 2.Worker+PHP-FPM—在2000-3000次连接之后,我开始在PHP机器上看到许多错误,包括关于没有候选服务器的错误,以及DB声明连接过多的错误

我被困在这里了。 我曾考虑给NGINX一次机会,但似乎与上面选项2的效果一样

这能实现吗?在此配置中允许超过10k的连接(PHP+MongoDB)


有什么想法吗?

这是你的问题吗?是的,我已经尝试了我提到的所有可能的配置,但无法获得我们需要的规模……prefork+mod_php组合到底需要2亿美元做什么?这似乎极不可能。您在nginx+fpm组合中遇到的错误似乎也不太可能出现,mongod错误日志中是否显示了任何内容?你的测试脚本是什么?您正在连接到ReplicaSet吗?蒙哥斯?每个mongod进程都支持20k连接,没有任何问题(但每个套接字使用4mb,所以当达到该限制时,最好有足够的ram)。。。