zvvq技术分享网

创建 Tomcat 线程池以获得更好的吞吐量(tomcat线程

作者:zvvq博客网
导读我们在生产中的前端 java tomcat 应用程序中遇到了一个问题。此应用程序接收来自管理 ui rest 调用以及调用这些 rest 端点的其他外部客户的流量。 问题 有两种请求,即基于 GET 的调用和

大家在生产中的前面 java tomcat 应用程序中遇到了一个难题。此应用软件接收来自管理 ui rest 启用及其启用这种 rest 节点的许多外部客户的流量。 内容来自samhan

难题有两种要求,即根据 GET 的调用和 POST 启用。问题在于,根据非关键 GET 的启用必须很长的时间,进而堵塞服务器并导致应用软件超时。因而,大家现在想要一种基于 URL 和请求方法来分离事务并分离实行的办法,便于慢速事项的延迟不会影响重要事务。 zvvq好,好zvvq

解决方法我们决定最先识别并分离 nginx 中的重要事务。最后我们在 tomcat 中创立了两个独立的 Executor,它们通过 tomcat 中独立的连接器公布。这使我们能够将重要流量跳转到一个执行器,将非关键流量跳转到另一个执行器。这使我们能够为每个连接器设置不同的acceptorThreadCount值。以及通过有着不同的 minThreads 和 maxThreads 值来调节执行器进程。此变更仅是配备变更,不保证编码中的任何变更。

内容来自samhan

让我们通过一个小实例应用软件来讨论完成。 copyright zvvq

nginx.conf变更

本文来自zvvq

活动{}

zvvq.cn

http{

内容来自zvvq,别采集哟

上游front_upstream_ritic{

zvvq.cn

服务器tomcat:8080;

本文来自zvvq

} 内容来自zvvq

上游front_upstream_non_ritic{ 本文来自zvvq

服务器tomcat:8081;

zvvq好,好zvvq

} copyright zvvq

投射$request_method$upstream{

zvvq.cn

默认front_upstream_non_ritic; copyright zvvq

POSTfront_upstream_ritic; zvvq

} 内容来自zvvq

服务器{

内容来自zvvq,别采集哟

听9090;

copyright zvvq

部位〜^ /前面应用软件/ api / v1 / myresource /(关键路径1 |关键路径2 |关键路径3)${ zvvq好,好zvvq

proxy_pass_request_body打开; 本文来自zvvq

proxy_pass_request_headers打开;

zvvq好,好zvvq

proxy_set_header主机$host:8080; copyright zvvq

proxy_passhttp://$upstream$uri$is_args$args; 内容来自samhan666

proxy_http_版本 1.1; 本文来自zvvq

proxy_set_header联接 内容来自samhan666

}

zvvq