服务器线程数优化

  • 文档创建者:文档助手1
  • 编辑次数:12次
  • 最近更新:Leo.Tsai 于 2020-02-12
  • 1. 服务器线程概念

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

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

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

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

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

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

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

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

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

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

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


    索引:

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

    附件列表


    主题: 性能优化
    • 有帮助
    • 没帮助
    • 只是浏览
    • 评价文档,奖励 1 ~ 100 随机 F 豆!