【问题标题】:Adequate number of threads for a networking/database job网络/数据库作业的足够线程数
【发布时间】:2015-01-29 12:51:41
【问题描述】:

我的工作大约执行 10000 次以下任务:

1) HTTP 请求(1 秒)

2) 数据转换(0.3 秒)

3) 数据库插入(0.7 秒)

它每次迭代的总时间约为 2 秒,如上所述分布。

我想做多任务处理,但我想知道此类作业的最佳线程数是多少(4 核处理器)?

谢谢

【问题讨论】:

    标签: java networking io multitasking


    【解决方案1】:

    您的任务简介如下:

    • 1.7 秒处于阻塞状态;
    • 占用 CPU 0.3 秒。

    这意味着该任务对 CPU 施加了 15% 的平均负载,这使得 CPU 成为您加速整个进程的方法中相对次要的问题。您的性能可能不会受到您机器的计算能力的限制,而是受到您所依赖的两个外部系统的并发性能特征的限制。

    结论:由于缺乏关键信息,您的问题无法回答。一个可能的好方法是通过反复试验进行优化。但是请记住,您的性能取决于您无法控制的大量因素(它们可能源于整个系统中的任何位置,包括外部机器和所有网络互连)。

    【讨论】:

      猜你喜欢
      • 2014-06-30
      • 1970-01-01
      • 1970-01-01
      • 2017-11-27
      • 1970-01-01
      • 1970-01-01
      • 2011-02-19
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多