【问题标题】:How to limit number of threads created on server side in Jersey Restful Web Services?如何限制 Jersey Restful Web 服务中服务器端创建的线程数?
【发布时间】:2015-07-22 13:06:25
【问题描述】:

Jersey 为每个请求创建一个线程。 是否可以限制在泽西岛的服务器端创建的线程数 Restful Web 服务?

首先,我创建了一个包含 4 个方法的资源,即创建、更新、删除、 读取以对数据库执行操作。

然后我编写了一个 shell 脚本,它异步创建 10 个进程,每个进程 执行 100 组(1 组 = Create() + Update()+ delete() + read()) 的 CURD 操作 使用非异步的 cURL 请求,因为我必须计算总时间 为每个 cURL 请求获取。

我得到的结果是:

Total time taken by 10 processes to complete is: 989.733 seconds
Average time of 10 processes is: 98.97330 seconds

当我将 CURD 集的数量增加到 4000 时,它失败了。 然后,我在 Jersey REST 中创建了一个包含异步方法 getData() 的资源 以获得更好的性能。 现在,我打算限制在 Jersey REST 中服务器端创建的线程数 无论从客户端发出的请求数量如何。 是否可以? 提前致谢。

【问题讨论】:

    标签: rest jersey jersey-2.0


    【解决方案1】:

    具体细节取决于您部署服务的具体方式。

    例如,Jersey docs 描述了部署到各种不同的 servlet 容器。这意味着从服务器的角度来看,线程由容器处理,因此它是您需要配置的容器。

    每个 servlet 容器都有一个定义的方法:例如GlassFish

    【讨论】:

    • 感谢您的建议。将尝试实施它。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-10
    • 2014-09-13
    • 2017-05-24
    • 2017-03-26
    • 1970-01-01
    • 2015-03-09
    相关资源
    最近更新 更多