我有一个 tomcat6 servlet 应用程序。我的一个请求(平均约 10 秒)可以通过使用多线程得到显着改善,因为它是一个仅限 CPU 的任务并且我有 >= 8 个内核。我只是想知道这样做是聪明还是只是表面上的改变:
当然,对于单一用户案例,这是一种改进。但是如果负载增加会发生什么?我有一个有限的 CPU 能力,目前在几个 HTTP 连接器线程之间共享。假设我已经对它们进行了最佳配置,我将不得不从 http 连接器线程池中获取一些线程并将其放入某个执行器服务器中,以加快这个单一(但重要的)操作。
我的假设是,随着负载的增加,如果我使用额外的线程执行器服务,我的系统性能会更差。
你看到我的问题了吗?有没有人有一些最佳实践的想法?还是我忽略了什么?