I have read a nice book called "Professional IIS 8" and these some of the tips I found them useful to posted here and sometimes these tips will help the SharePoint Administrator or Developer.
Note: Some of these tips apply to previous version of IIS ( 6 , 7 or 7.5).
Note: Some of these tips apply to previous version of IIS ( 6 , 7 or 7.5).
- You can use appcmd or power shell as command utilities for automation or using managed code like C#.
- SSL Certificate no longer need to bound to an IP address. SNI allows an IIS 8 to host multiple SSL sites and certificates on a single IP address.
http://windowsworld.in/?p=555
http://www.iis.net/learn/get-started/whats-new-in-iis-8/iis-80-server-name-indication-sni-ssl-scalability - IISLogs external tool whcih help you to mange the logs on schedule basis.
http://www.iislogs.com/ - IIS can host different application like Asp , Asp.net and PHP.
http://www.iis.net/learn/application-frameworks/install-and-configure-php-applications-on-iis/using-fastcgi-to-host-php-applications-on-iis - You can install IIS 8 Express on windows 7 for development purpose with Visual Studio 2012 (no IIS Manager ).
- Microsoft Web Capacity Analysis tool (WCAT) to test a load on web servers.
http://support.microsoft.com/kb/231282
http://www.galcho.com/articles/StressTestingWCAT.aspx - IIS 8's Request Tracing utility can be used for testing performance and diagnostic the errors.
http://www.trainsignal.com/blog/iis-7-troubleshooting - MaxConcurrentRequestsPerCpu setting can enhance or optimze the performance
http://blogs.x2line.com/al/archive/2010/01/04/3718.aspx
http://blogs.msdn.com/b/rakkimk/archive/2009/07/08/iis7-improving-asp-net-performance-concurrent-requests-while-on-integrated-mode.aspx?Redirected=true - By default IIS 8 installed with Asp.net 4.5 and you can install and run .Net 3.5.
- You can upgrade from IIS 7 to II 8 and same sites with same configuration can run.
- You can manage IIS 8 remotely over HTTPS using Web Management Service (WMSVC).
http://www.tech-stew.com/post/2012/10/08/How-to-install-IIS-remote-manager-in-Windows-8.aspx
http://technet.microsoft.com/en-us/library/jj635856.aspx
http://www.iis.net/learn/manage/remote-administration/remote-administration-for-iis-manager - Local Administrators can manage IIS but by using Delegation feature you can allow none administrators to manage websites or applications.
- You can extend IIS Manager using managed code or native code.
- You can set configuration at sub folder or file level using Location tag in configuration file
http://blogs.iis.net/bills/archive/2008/03/24/how-to-enable-directory-browsing-with-iis7-web-config.aspx - IIS 8 support different types of logs like IIS , W3C (widely used) and NCSA and you need a tool to parse them like logparser (you need to consider the time zone and reverse proxy infrastructure).
http://www.microsoft.com/en-us/download/details.aspx?id=24659
http://logparserplus.com/Examples - It's recommended to enable compression to save bandwidth usage
- If MIME type is not defined then the browser will return 404.3 error.
- To stop IIS run the following command : net stop iisadmin /y or stop these services (World wide web publishing , SMTP and FTP publishing).
- Application initialization module (in IIS 7.5 called application warm up) to prime the application before receiving HTTP requests from the end users.
http://www.iis.net/learn/get-started/whats-new-in-iis-8/iis-80-application-initialization
http://sharepoint.nauplius.net/2012/06/sharepoint-warm-up-scripts-a-thing-of-the-past/
http://sharepointgeorge.com/2010/warm-sharepoint-web-applications-windows-2008-r2-iis-75-application-warmup-module/ - Recycle process does not immediately stop the w3wp process , instead it create new process and then move the requests there.
- Web Gardens is an application pool that is serviced by more than one worker process simultaneously (Created on Demand). It's useful in situations where :
- High number of concurrent connections.
- No application Session state.
- Not be CPU -intensive.
http://geekswithblogs.net/vkamat/archive/2004/11/17/15145.aspx - Classic mode pipeline for compatibility.
- In IIS 8 you can view the running w3wp process in IIS Manager and running page requests ( good to check the slow running page).
http://www.codeproject.com/Articles/125113/How-to-use-IIS-Manager-to-get-Worker-Processes-w3w
http://programming4.us/website/6646.aspx - Application pool use configuration isolation concept by stored temprorary files from the global configuration (needed settings) in this folder (\inetpub\temp\appPools).
- You can change bitness mode to 32 or 64 bit at application pool level.
- You can configure SSL with FTP in IIS 8 (FTPS) and you can use host headers.
- You can apply filtering to FTP by File extension or restricted domain or IPs.
- You can use .Net Accounts with FTP.
- IIS 7 and above ship with more than 40 modules and you can create your custom module.
- Windows Process Activation Service (WAS) will respond to requests other than HTTP such as TCP and MSMQ. (One of the feature of WCF).
- Dynamic IP Restrictions to block malicious web requests designed to infiltrate your web server and you can show access denied page or page not found.
http://www.iis.net/learn/get-started/whats-new-in-iis-8/iis-80-dynamic-ip-address-restrictions - Placing servers in DMZ or internally or even at hosting company based on two factors : first the function of the server and second who needs access.
- To enable or disable session state for Asp.net go to Pages and Controls section under Asp.net in IIS.
- You can load only the required modules and this will increase the server and site performance
- At web server level , you need to modify applicationhost.config file so for example to render only static Html page
- At web site level , you need to modify the web.config file
- Using IP and Domain Restrictions allows you to selectively permit or deny access to the web server , web sites , folders and files.
http://www.dotnetexpertguide.com/2012/03/iis-8-dynamic-ip-domain-restriction.html - Request Filtering provides a configurable set of rules that enables you to determine which types of request should be allowed or rejected (URLscan module).
http://technet.microsoft.com/en-us/library/hh831621.aspx
http://www.iis.net/configreference/system.webserver/security/requestfiltering
http://www.hosting.com/support/iis7/enabling-the-request-filtering-ui- - URL authorization is a feature that can be used to permit or deny access to resources by rules in data sources like (databases or XML).
http://www.iis.net/learn/manage/configuring-security/understanding-iis-url-authorization - Backup and Restore IIS settings and configurations
http://sharepointadam.com/2010/04/01/backup-iis-configuration-settings-via-powershell/
http://social.technet.microsoft.com/wiki/contents/articles/10526.sharepoint-2010-backup-and-restore-iis-web-server-configuration-through-powershell-en-us.aspx
http://thuansoldier.net/?p=1607 - URL Rewrite module can
- Redirect URL
- Rewrite URL
- Set custom HTTP Response
- Abort Request
- None
http://www.iis.net/learn/extensions/url-rewrite-module/creating-rewrite-rules-for-the-url-rewrite-module
http://weblogs.asp.net/owscott/archive/2010/01/26/iis-url-rewrite-hosting-multiple-domains-under-one-site.aspx
http://www.techrepublic.com/blog/webmaster/url-rewriting-with-iiss-url-rewrite-module/710 - Application Request Routing (ARR) (IIS like Load Balance).
http://www.iis.net/downloads/microsoft/application-request-routing
http://improve.dk/archive/2010/06/16/setting-up-multiple-iis-application-request-routing-farms-on-the-same-server.aspx - Monitoring tools
- Server Manager in Windows Server 2012
- Task Manager
- Windows Performance Monitor
- Resource Monitor
- Resource and Performance Monitor
- What to Monitor ?
- Memory Usage
- Process Utilization
- Disk I/O
- Network Bandwidth
- Web Service Counters
- Asp.Net Counters
- Logs (IIS Logs , Event Viewer logs and application logs)
- Website Optimizations
- HTTP keep-Alive
- Content Expiration
- Bandwidth throttling
- Output Caching
- HTTP compression
- Website connections
- WFetch is a tool which listen to all web traffic and see everything included in the communication between IIS and web client including request , response ,headers ,body,...
http://support.microsoft.com/kb/284285 - Web Socket
http://alexjmackey.wordpress.com/2012/05/01/websockets-with-asp-net-4-5-and-visual-studio-11/
http://www.iis.net/learn/get-started/whats-new-in-iis-8/iis-80-websocket-protocol-support
<modules>
<add name="DefaultDocumentModule" />
<add name="StaticFileModule" />
<add name="AnonymousAuthenticationModule" />
</modules>
3 comments:
Greate...
One question, what do you mean with ".Net Accounts" in point 28?
Do you mean .net membership?
Nice post. I was searching for the factors that should be noted when we monitor IIS. your post gives me some ideas. It would be great if you provide links for 'What to Monitor' and Website Optimizations' too.
Nice post. I was searching for the factors that should be noted when we monitor IIS. your post gives me some ideas. It would be great if you provide links for 'What to Monitor' and Website Optimizations' too.
Post a Comment