适用于网络/数据库作业的足够线程数

时间:2015-01-29 12:51:42

标签: java networking io multitasking

我有一份工作,可以完成10000次以下任务:

1)HTTP请求(1秒)

2)数据转换(0.3秒)

3)数据库插入(0.7秒)

每次迭代的任务总时间约为2秒,如上所述分配。

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

谢谢

1 个答案:

答案 0 :(得分:1)

您的任务资料如下:

  • 在阻止状态下花了1.7秒;
  • 使用CPU花了0.3秒。

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

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