What Is IIS Server?

Learn more about IIS, including what it’s used for, benefits, and how to configure IIS web servers and virtual directories.

What Is IIS Server?

  • Internet Information Services, also known as IIS, is a Microsoft web server that runs on Windows operating system and is used to exchange static and dynamic web content with internet users. IIS can be used to host, deploy, and manage web applications using technologies such as ASP.NET and PHP.

  • Before we discuss the applications of IIS, what is an IIS server exactly? IIS uses various protocols for communication and data exchange with remote clients or computers, such as HTTP, SMTP, and FTP. As a core Windows product, IIS comes integrated with Windows Server and runs on Windows OS. You can use third-party utilities to run IIS over Linux and macOS, but it often offers less stability and poor performance.

    Outlined below are typical ways to use Microsoft IIS server:

    • Website hosting: IIS application server can host enterprise web applications, websites, and WCF services. Nearly 30% of the websites run over IIS.
    • Logging: IIS server logs contain critical information about your server and website, including usage patterns, performance issues, etc. Analyzing these log files helps you identify and troubleshoot problems quickly.
    • Request Filtering: Microsoft IIS server provides a Request Filtering module to scan and filter potentially dangerous client requests. You can apply appropriate traffic filtering rules based on parameters such as file extensions, URL length, and maximum string size.
    • Native support: IIS natively supports the Microsoft .NET framework and libraries, allowing developers to quickly build, deploy, and manage ASP.NET web applications on IIS.
  • Robust security: IIS comes with built-in authentication, authorization, and access control features to strengthen your web application security. You can create system and application administrator accounts individually for granular-level access. Other security features include request filtering to whitelist/blacklist traffic, dynamic IP blocking, SSL and TLS encryption, webpage compression, and FTP-specific security controls.

    Application pools: This helps you separate your web applications in IIS for better security and availability. An application pool has single or multiple applications managed by one or more worker processes in IIS. A worker process handles the client requests specific to an application pool. Isolation ensures the crashing or failure of an application in a particular pool doesn’t affect the applications in other pools.

    Scalability and reliability: You can implement a scalable and reliable web infrastructure with IIS Web Farm, which allows you to host high-traffic websites on multiple IIS servers with load balancing and application request routing (ARR). A load balancer distributes traffic among multiple servers in the IIS server farm using sophisticated algorithms. At the same time, ARR determines the best content server for every request. An IIS server farm also lets you add or remove servers to dynamically scale your website traffic handling capabilities.
  • Monitoring IIS web server performance is critical to guarantee a smoother website experience for users. Any small error in your server may result in slow response time and timeout, making users leave your website quickly. You can monitor web application performance through HTTP ping checks and performance monitoring software. The former gives you basic monitoring capabilities, while the latter provides more granular information on your server performance. You can use the Windows Performance Counter to identify performance metrics of ISS.

    Outlined below are some key metrics for IIS performance:

    • CPU and memory usage: Continuously monitor overall CPU and memory usage by different IIS worker processes. Ensure it stays within permissible limits to avoid memory bottlenecks and inadequate resources, which can further degrade your IIS web server performance.
    • Uptime and response rate: Inspecting your server or website availability is critical to ensure a seamless user experience. With performance monitoring tools, you can check your IIS web server availability and compare its response time with pre-set baselines to see if it's meeting expectations.
    • Workload/Traffic: Tracking the workload or the number of HTTP requests/seconds received or processed by the Microsoft IIS server is essential to determine unusual traffic spikes. It can also help you prevent performance bottlenecks and website high latency issues by equally distributing the workload across all servers. It’s handy during multi-site management on IIS.
    • ASP.NET errors and exceptions: IIS application server can host ASP.NET web applications effortlessly. It uses the .NET runtime environment to process most client requests. You should continuously track unhandled ASP.NET exceptions and errors during request compilation, pre-processing, and execution. Ensure the number of errors and exceptions stays below the threshold level, as it can affect your IIS web server performance.
    • ASP.NET processing efficiency: Check the total number of requests in the application queue for ASP.NET applications. An excessive number of requests delays the execution, which negatively affects IIS web server performance. Monitor metrics such as the number of currently executing requests and request execution time and waiting time via server monitoring tools to identify potential issues.
  • IIS server logs are helpful for server monitoring as they maintain a detailed record of every HTTP request to your web server. You can enable the logging feature via IIS manager to store critical information of your sites in ASCII text-based formats such as Microsoft IIS, NCSA, and W3C. These log files contain several fields with detailed information of every request, such as client IP address, request date and time, server name, and request-response time. The advanced logging option in IIS enables you to add or remove fields from log files, change log file location, and create policies for log file rollover.

    Analyzing these data archives can help you track key website statistics, including total website visits, top visitors, popular pages, etc. You can leverage automation tools to aggregate, analyze, and visualize IIS logs better with insights into the performance of your applications running over the server. Analyzing IIS error logs can also help you detect the problems users face while interacting with your website and receive timely alerts. Having such detailed information can help you optimize website performance.

Featured in this Resource
Like what you see? Try out the products.
Server & Application Monitor

Comprehensive server and application monitoring made simple.

Email Link To TrialFully functional for 30 days
Loggly

Cost-effective, hosted, and scalable full-stack, multi-source log management solution.

AppOptics

Application and infrastructure monitoring.

Start Free TrialNo credit card required

View More Resources

What is agentless monitoring?

Agentless monitoring helps you monitor your overall network health without deploying any third-party agent software.

View IT Glossary

What is CPU usage?

CPU utilization indicates the amount of load handled by individual processor cores to run various programs on a computer.

View IT Glossary

What Is Windows Server?

Windows Server is a group of operating systems to support enterprises and small and medium-sized businesses with data storage, communications, and applications.

View IT Glossary

What are Active Directory Groups?

Active Directory (AD) groups help keep a tab on the access permissions to various resources in your network, such as computers.

View IT Glossary

What Is Database Software?

Database software helps streamline database management by ensuring seamless data storage, monitoring, backup, recovery, and reporting.

View IT Glossary

What Is DHCP?

DHCP intelligently manages IP address allotment and renewal activities in a network.

View IT Glossary