我们使用的是tomcat7,maxthreads=“200”和maxconnections=10000。我们在主存之外提供所有数据,因此每个HTTP请求完成得非常快,但我们有大量用户在进行非常简单的交互(这是高中主题选择)。但是,我们似乎不太可能有10,000个用户同时打开他们的浏览器在我们的页面上。
我的问题有几个部分:
更多信息:当我们意识到我们使用的是BIO的默认Tomcat7设置时,看起来我们真的解决了这个问题,该设置每个连接有一个线程,并且我们的MaxThreads=200。实际上,'netstat-an'显示了大约297个连接,这与200多个队列100个匹配。因此我们将其更改为NIO,并重新启动Tomcat。不幸的是,第二天发生了同样的问题。我们可能错误地配置了server.xml。
更多信息:我做了一个负载测试。我能够从我的开发笔记本电脑上创建500个连接,并在每个上做3次HTTP获取,没有任何问题。除非我的负载测试无效(Java类也在上面的链接中)。
如果没有动手调试,很难确定,但我首先检查的内容之一是文件描述符限制(即ulimit-n
)。TCP连接使用文件描述符,根据使用的实现,使用selectablechannel
进行轮询的nio连接可能会在每个打开的套接字中使用多个文件描述符。
检查这是否是原因:
ps
ulimit
进程运行的条件:cat/proc/
/limits fgrep'open files'
ls/proc/
/fd wc-l
实际上,这不是一个问题,而是一个奇怪的事情,我想理解。我将SpringBoot2与嵌入的Tomcat一起使用。我还添加了自签名SSL证书。这是非常常见的配置: 我制作了一个连接器,强制HTTP->https重定向,就像在许多示例中一样: 如果我不在配置中指定server.port属性,我将看到以下错误: 说明: 配置为侦听端口8080的Tomcat连接器启动失败。端口可能已经在使用中,或者连接器可
这是个模糊的问题。因此,请随时询问任何具体数据。 我们有一个tomcat服务器,运行两个web服务。一个tomcat使用spring构建。90%的任务使用mysql,JSON缓存使用mongo(10%)。另一个web服务是使用grails编写的。这两项服务都是中等大小的代码库(每项约35k行代码) 计算仅在有HTTP请求(无批处理)时发生。每个请求大约有2000个数据库点击率(我知道它非常庞大,我
一个js转义问题 这是在浏览器的控制台,为什么为出现这种结果,如果要输出'a\b\c\d'这样,请问题如何写
也许有人能解释以下行为--希望能找到可行的解决办法...多谢了。 有什么想法吗?
我在包上收到以下编译器错误: 包com.core.cronjob.mapping; 错误 : 内部编译器错误: java.lang.非法描述异常: 信息不能为空在组织.eclipse.jdt.内部.编译器.codegen.StackMapFrame.addStackItem(堆栈映射帧.java:81) 我不认为这是代码。我正在使用蚂蚁1.9.4来构建项目和Eclips Mars.1版本。(4.5
我有一个ui显示的数据表:repeat。因为我希望用户能够在每行的基础上更改数据,所以每行都包含在一个h:form中。最后,每个h:form都有一个带有f:ajax标记的按钮。我的行为越来越不一致。 上述方法可行,但带宽显然不便宜。 如果我将render=“@all”更改为render=“@form”,Firebug显示发送的部分响应正常,但我的浏览器(Firefox)神秘地没有显示它。所以我猜它