0

这是我的 vps 套餐,每月 14.99 英镑,所以不贵。

Thay 将 numproc 限制为 96,当我注册时,他们并没有明确表示这是一个限制,但我想我没有问是我的错。

我正在运行 Tomcat,如果我用完了 numproc,那么 Java 将崩溃,容器将需要手动重启。

所以我在 server.xml 中添加了以下内容来限制线程数。实验使我将数字 20 作为一个稳定的最大值。

<Connector port="80" protocol="HTTP/1.1"
           maxThreads="20" 
           connectionTimeout="20000"
           redirectPort="8443" />

我在想使用 maxThreads="20" 会阻止超过 20 个 servlet 请求同时运行,如果不是这种情况,请纠正我。

我认为numproc是所有线程的最大数量?如果是这样,那么我有时会运行近 76 个其他线程,看起来很多,但有 Java、Tomcat、Hibernate、Ehcash、FTP、SSH、MYSQL 和 2 个 JavaMelody 实例

无论如何,我的问题是。

设置 maxThreads="20" 是保持 numproc 下降的最佳方法,还是有更好的方法。最后,我的 vps 限制为 96 是否不公平?

顺便说一句,我距离达到任何其他系统限制还有很长的路要走。

4

1 回答 1

0

最后,我的 vps 限制为 96 是否不公平?

绝对不。对于每月 14.99 英镑的费用,您不能指望大量的处理器资源。此外,同时 20 个 servlet 请求是相当多的......

......当我注册时,他们并没有明确表示这是一个限制......

是的。它被称为“精美印刷品”。但是,如果您不阅读合同中的“细则”,那么您就不能真正抱怨。

(我无法识别您正在使用的软件包/产品,但numprocs网站上记录了这些限制;例如http://help.1and1.co.uk/servers-c40665/virtual-server-c63188/virtuozzo-power- panel-c63246/extended-resources-of-a-1and1-virtual-server-a686172.html

看,如果你不能忍受这个,要么:

  • 寻找更好的供应商,或
  • 升级到更好(更昂贵)的软件包。

您可以尝试抱怨或恳求您的情况是一个特例,但我怀疑它会有所作为。你应该读过那个精美的印刷品。


设置 maxThreads="20" 是保持 numproc 下降的最佳方式。

这只解决了 servlet 请求线程池的大小。MySQL 工作线程呢?MySQL连接数?您的 FTP 服务的同时请求数?您需要 2 个 JavaMelody 实例吗?等等。

您可以做的一件事是进行 Java 线程转储以查看 JVM 中存在哪些其他线程。也许您没有考虑过的事情正在消耗您的 numprocs 配给。

于 2012-06-28T10:46:58.587 回答