it:ad:non-functional_requirements:ux:web_server

IT:AD:Non-Functional Requirements:UX:Web Server

  • [NFR:8syqh:SHOULD] Run Windows Server 2008 (R2) on new hardware:
    • Rational: the Windows Server 2008 bits are optimized to take advantage of the features of new CPU architectures.

    • I didn't find an article that explicitly discusses this, but we ran into this issue however when Windows Server 2008 was in Beta.
      • You probably will see that Windows Server 2008 doesn't perform well on old hardware, compared to Windows Server 2003, which was the OS of that time…</WRAP>
  • [NFR:8syqh:SHOULD] Put the most appropriate Default Document Type at the type of the Default Document Type List
    • Rational: execution speed can be improved by stripping the list of default documents or putting the the most commonly requested type at the top of the list.

    • The list of IIS default documents increased over the years (iisstart.htm, default.htm, default.asp, index.htm, index.php etc.). Problem is that IIS has to go through the list of default documents and look in the file system until it finds one that actually exists. You can increase the execution speed by stripping the list of default documents or putting the one you are using on top of the list.

  • [NFR:8syqh:SHOULD] Use IIS7 or ASP.NET output caching
    • Further information:

      • There is a good tutorial on the ASP.NET web-site on how to take advantage of Output Caching.
      • Ultra-Fast ASP.NET also has a chapter on it.
      • IIS7 Output Caching is discussed in this Learn.IIS.Net article.
  • [NFR:8syrp:SHOULD] Review IIS's idle timeout and proactive recycling settings.
    • Rational: by default, IIS recycles Application Pools proactively every 29 hours. It also times out Application Pools when the site is inactive.

    • A proactive recycle might be initiated right when you have the most traffic on your site and an idle timeout might happen just because you removed your server from the web farm for a few minutes.
      • Consider turning off idle timeout and finding an alternative recycling solution for your application.</WRAP>
  • [NFR:8syro:SHOULD] ASP.NET: for high throughput sites, review the Thread Pool maxConcurrentRequestsPerCPU setting.
    • Rational: the maxConcurrentRequestsPerCPU setting's default value is 12, which means that no more than 12 concurrent requests per CPU will be executed.

    • Usually this setting works well, unless you require very high throughput.

      </WRAP>

  • [NFR:8syqh:SHOULD] Turn off like Request Tracing until needed.
    • Rational:turn off features that can slow down execution.

    • Request and ETW Tracing is pretty lean and invaluable for troubleshooting problems. But if you are under a lot of load you should probably turn these features off.

  • [NFR:8syrq:SHOULD] When deploying an ASP.NET application, Use ASPNET_COMPILER to optimize for the first impression
      • Rational: ASP.NET applications can take a long time to start up. Due to human nature the first impression counts however.
      • ASPNET_COMPILER does a batch compile of all ASP.NET files and resources.
      • This speeds up startup, especially on slow disks!
      • That's why the Web Platform Installer runs ASPNET_COMPILER at the end of an install of an ASP.NET application.
      • More about ASPNET_COMPILER here.aspx).
  • /home/skysigal/public_html/data/pages/it/ad/non-functional_requirements/ux/web_server.txt
  • Last modified: 2023/11/04 23:00
  • by 127.0.0.1