关于nginx在大并发请求下出现500 Internal Server Error
最近搞扩容,用nginx做负载均衡增加了几个节点,用Jmeter测了一下发现在高并发的请求下有很多500 Internal Server Error错误请求,看了一下日志发现并不是应用服务器抛的而是nginx抛的,查了一下发现原因是和文件打开句柄太小有关。
解决方法如下:
在Linux下输入
|
1 2 |
$ ulimit -n 256 |
我之前的显示结果是256,限制只能打开256个文件,ulimit命令是设置当前用户一个进程可拥有的文件描述符的数量。
调整为:
|
1 |
$ ulimit -n 65535 |
nginx是默认系统最大限制数,所以不用修改了,如果想限制nginx要在conf文件头上加入:
|
1 |
worker_rlimit_nofile 65535 |
再用Jmeter压一下发现问题解决。
暂无评论