Windows服务性能与Windows应用程序性能

时间:2013-07-30 10:11:30

标签: windows performance service

我正在开发一个需要以高性能运行的软件,我想知道它是应该作为Windows服务还是常规Windows应用程序运行。问题是:两者在绩效方面有什么不同吗?意味着:OS调度程序是否会为Windows-Service提供比Windows-Application更多的CPU时间?

1 个答案:

答案 0 :(得分:3)

要回答这个问题,请参阅Description of Performance Options in Windows

  

您可以使用性能选项将Windows优化为前台程序或后台服务。假设背景服务的数量相对较少,并且在更多的CPU时间内效率更高,并且台式计算机上的程序服务器或交互式程序使用更短的时间片会更有效,以使它们对键盘输入和服务更多线程(在Application Server模式下终端服务上有数千个。

     

...

     

启用“前景应用程序”选项后,情况会变得更加复杂。这引入了“可变量子”概念。在这种情况下,后台任务接收的量程与前台任务接收的量子不同。此外,两组量子都比线程在用于后台服务的计算机上接收的短。目前,后台进程接收量子为3,前台进程接收量为9.因此,您可以计算线程在其计时器到期之前运行的时间长度。

阅读整个链接以获取更多详细信息。 TL / DR:后台服务接收更长的量。

但是,我非常怀疑你需要担心这个设置。首先,99.9999%的应用程序始终不执行任何操作,但等待一些IO完成(磁盘,网络)。除非您在紧密循环中执行算术运算,否则您的代码出于所有实际原因,从不运行并始终在等待。助推器无助于你。我非常怀疑你真的需要部署一个在紧密循环中执行高CPU的服务

一个更相关的主题是通过High Performance Windows Programs来学习如何在Windows上编写适当的性能程序(即使用IO队列完成状态和朋友)。

而且,如果您需要CPU提升,只需禁用CPU power savings in BIOS