服务器线程数优化

编辑
  • 文档创建者:文档助手1
  • 浏览次数:5142次
  • 编辑次数:9次
  • 最近更新:Kevin-s 于 2019-06-17
  • 1. 服务器线程概念

    一般服务器都需要承受较高的访问量,能够同时响应不同用户的请求,在服务器中使用线程来处理接收的每个请求,若能够合理管理线程数,服务器就能够更好的在恶劣环境下保持较高的稳定性和健壮性。

    各 Web 服务器管理线程主要用到如下几个参数:

    • 最小线程数服务器最少保证的线程数;

    • 最大线程数服务器并发处理的最大任务个数,超过该数时,请求会进入等待,等待空闲线程;

    • 最大等待时间服务器线程数超过最大线程数,进入等待的请求,超过最大等待时间时,服务器会绝此次请求,返回 connection refused。

    2. 如何设置服务器线程数

    一般的服务器操作都包括两方面:计算(主要消耗 CPU)、等待(IO、数据库等),最重要的参数就是“最大线程数”:

    第一种极端情况,如果我们的操作是纯粹的计算,那么系统响应时间的主要限制就是 CPU 的运算能力,此时最大线程数应该尽量设的小,降低同一时间内争抢 CPU 的线程个数,可以提高计算效率,提高系统的整体处理能力。

    第二种极端情况,如果我们的操作是纯粹IO或者数据库,那么响应时间的主要限制就变为等待外部资源,此时最大线程数应该尽量设的大,这样才能提高同时处理请求的个数,从而提高系统整体的处理能力。此情况下因为Tomcat同时处理的请求量会比较大,所以需要关注一下 Tomcat 的虚拟机内存设置和 Linux 的 open file 限制。

    而现实应用中,我们的操作都会包含以上两种类型(计算、等待),所以最大线程数的配置并没有一个最优值,一定要根据具体情况来配置。

    最好的做法是:在不断测试的基础上,不断调整、优化,才能得到最合理的配置。


    索引:

    Tomcat 服务器并发数查看与修改

    WebLogic 服务器并发数查看与修改

    WebSphere 服务器并发数查看与修改

    JBoss 服务器并发数查看与修改


    附件列表


    主题: 性能优化
    标签: 暂无标签
    如果您认为本文档还有待完善,请编辑

    文档内容仅供参考,如果你需要获取更多帮助,付费/准付费客户请咨询帆软技术支持
    关于技术问题,您还可以前往帆软社区,点击顶部搜索框旁边的提问按钮
    若您还有其他非技术类问题,可以联系帆软传说哥(qq:1745114201

    此页面有帮助吗?只是浏览 [ 去社区提问 ]