1个端口比如tomcat的8080,高并发访问时,端口仅1个这会不会成为瓶颈?
据我了解端口这一层是会排成两个队列,一个读的队列,一个写的队列,那高并发的时候会怎样?1个端口够吗?
瓶颈在哪里?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
据我了解端口这一层是会排成两个队列,一个读的队列,一个写的队列,那高并发的时候会怎样?1个端口够吗?
瓶颈在哪里?
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(2)
所以需要一个前端比方说 nginx 做负载均衡
而在tomcat的server.xml中需要修改Connector配置
maxThreads:监听端口的线程的最大数目,这个值也决定了服务器可以同时响应客户请求的最大数目.默认值为200
acceptCount:指定当所有可以使用的处理请求的线程数都被使用时,可以放到等待队列中的请求数,超过这个数的请求将不予处理.默认值为100
还需要注意的是你的内核参数 fs.file-max ,这个系统级硬限制是Linux系统在启动时根据系统硬件资源状况计算出来的最佳的最大同时打开文件数限制。所有用户级的打开文件数限制都不应超过这个数值
Linux系统用户级打开文件数的软限制和硬限制可通过/etc/security/limits.conf修改,默认是1024
你得知道端口存在的意义。 端口是用来标识进程的,和高并发没啥关系。你前面挂了一个nginx,不还是一个80端口吗?!
那么高并发和什么有关系呢?这个就有些复杂了,都是tcp调优的相关事情,什么syn队列啊 accept队列啊,进程可打开文件数啊啥的。另外还和你的业务有很大关系。
太复杂了,我都不知道该说些什么了!
要提高连接数的话,可以看看这篇C1000K的文章。