2017-06-02 69 views
4

ASP.Net核心在Windows和Linux Docker容器上运行。考虑到Linux主机比Windows主机便宜,如果不需要完整的.Net框架,在IIS/Windows和Nginx/Linux上运行应用程序有什么好处?.net在Windows和Linux上的核心

+0

@LexLi并排侧在.NET Core的所有平台上都受支持 – omajid

回答

0

没有明确的利益。这与你想在其他平台上运行rails,jboss的理由是一样的。由于您运行的是同一个应用程序,因此没有多少考虑因素需要考虑。在Windows中有一些功能可能需要使用,例如dns缓存。如果你更喜欢使用网络监听器,而不是红隼,但这将主要取决于你在做什么。

如果你真的关心你的http传输,或者.net将使用哪个时区数据库,那么你可以做出这样的决定。对于大多数用户来说,没有什么大的好处。如果您希望拥有AD登录功能,那么您几乎必须使用Windows和IIS,因为您需要一个属于活动目录域的服务器。只要记住,linux确实有免费的选择,但大多数支付企业对linux的支持通常是相同的,如果不是比windows更昂贵的话。

1

A study by Roberto Prevato表明你最好在Linux(!)上运行它,至少对于ASP.NET Core来说。

结果与从通过导线连接到因特网的计算机 获得的那些生成负载一致的:部署在Linux和泊坞相同ASP.NET核心 应用是远远快于一个 部署在Windows主机(均在应用程序服务计划内)。这些 新测试显示,在Linux中托管的应用程序占据更强的统治地位,尤其是在为更大的机构提供响应时。

他得到的结果的简短摘要:每秒

要求:

Scenario  Linux Windows +% 
Hello World  646.6 432.85 +49.38% 
1KB    623.05 431.95 +44.24% 
10KB   573.6 361.9 +58.5% 
50KB   415.5 210.05 +97.81% 
100KB   294.35 143.25 +105.48% 

响应时间:

Scenario  Linux Windows -% 
Hello World  168.85 242.2 -30.28% 
1KB    171.25 249.8 -31.45% 
10KB   184.2 292.7 -37.07% 
50KB   233.3 542.85 -57.02% 
100KB   365.05 817.35 -55.34%