我有2台服务器安装.
具有Apache的Web服务器和具有MongoDB的DB服务器.
PHP Fatal error: Uncaught exception ‘MongoConnectionException’ with
message ‘Transport endpoint is not connected’.
我唯一注意到的是,在失败之前,我在Mongo上获得了很多联系:
insert query update delete getmore command flushes mapped vsize res faults locked % idx miss % qr|qw ar|aw netIn netout conn time
0 659 0 0 0 1 0 208m 1.28g 40m 0 0 0 0|0 0|0 62k 217k 486 03:57:20
这里差不多有500个连接……但绝不仅限于此!
Mongo是2.0.3. PHP是5.3.x(最新的Debian安装……)
救命!
解决方法:
我真的需要看到mongod日志在这里确定,但两个最常见的原因包括做两件事:
>检查客户端和服务器上的ulimits(too many open file页是一个好的开始)
>从默认值(再次客户端和服务器)降低tcp_keepalive_time
对于负载测试,您应该将ulimit设置(-n -u等)设置为超过20,000的任何值 – 这是MongoDB当前对于打开文件描述符的内部限制.您可能还希望确保您运行的Apache用户在ulimit设置方面同样正常,因为您使用的是PHP.