这是一个很长的镜头,但也许有人有一个想法。我正在使用 IndySockets,这是一个在多线程(20-25 线程)网络爬虫应用程序中扩展 .Net 套接字类的库。该应用程序在许多不同的服务器上运行,其中一些已打开超线程。
使用超线程一开始大大提高了应用程序的效率(速度提高了 30-50%),但是这些机器上的 IndySockets 调用在几天内逐渐变得越来越慢。这不会发生在不使用超线程的机器上。
更令人困惑的是,重新启动超线程机器似乎可以解决问题,即应用程序将以最初的速度运行,重新启动后再次以非常快的速度运行。重新启动应用程序没有任何效果。
如果有人有任何建议,我将不胜感激。谢谢。