0x01 问题
500 Internal Server Error
服务器用户量很大, 每秒的连接数>6000, 每分钟的更新量>1000, 查询数未统计. 服务器出现了各种奇怪的问题
0x02 参考方法1
测了一下发现在高并发的请求下有很多500 Internal Server Error错误请求,看了一下日志发现并不是应用服务器抛的而是nginx抛的,查了一下发现原因是和文件打开句柄太小有关。
解决方法如下:
在Linux下输入
$ ulimit -n
256
我之前的显示结果是256,限制只能打开256个文件,ulimit命令是设置当前用户一个进程可拥有的文件描述符的数量。
调整为:
$ ulimit -n 65535
nginx是默认系统最大限制数,所以不用修改了,如果想限制nginx要在conf文件头上加入:
worker_rlimit_nofile 65535
服务器是两台前端 + 两台后端 + 两台mysql+两台文件服务器, 撑不住, 配置了没有解决
但是服务器压力不大, 现在不知道丢包的报错出现在什么地方!
0x03 参考方法2
水平扩容
准备把前端 变为3台
后端变为3台, 看看是否还会出问题!
0则评论给“关于nginx在大并发请求下出现500 Internal Server Error”