我们需要使我们的系统高度可扩展,它是使用VC++在Windows平台上开发的。假设最初我们想要同时处理100个请求(来自msmq),最佳方法是什么?使用单个进程和100个线程还是2个进程和50-50个线程?除了进程内存之外,在第二种方法中有什么收益?在Windows中,首先将CPU时间分配给进程,然后再根据进程中的线程数量进行分割,还是操作系统根据线程而不是进程的数量来分配CPU时间。我们注意到,在第一种情况下,CPU利用率为15-25%,我们希望消耗更多的CPU。请记住,我们希望获得最佳性能,因此100个请求只是一个例子。我们还注意到,如果将进程的线程数增加到120以上,性能会因上下文切换而降低。
还有一点,我们的产品已经支持集群,但我们想在单个节点上利用更多的CPU。
非常感谢您提供任何建议。
还有一点,我们的产品已经支持集群,但我们想在单个节点上利用更多的CPU。
非常感谢您提供任何建议。