Application Pool Là Gì

 - 

People who are new to hosting web apps on IIS (Internet Information Services) sometimes struggle with the concept of application pools. What is an IIS application pool? What purpose does it serve? In this post, we’ll answer these questions—và more.

Bạn đang xem: Application pool là gì

We’ll begin by offering a brief introduction to IIS itself. If you’re already well acquainted with this piece of software, then the first section isn’t for you; feel không lấy phí to lớn skip it. Those of you who choose lớn read it will learn a bit about IIS và the role it plays in the Microsoft stack.

After that, we’ll proceed to cover the concept of “pools” in the tech world. If you’re an IT professional—especially in the field of software development—you likely come across a reasonable number of “pools” in your day-to-day work, so it makes sense to define those as well.

Then we get lớn the main point of the article: IIS application pools. You’ll see the definition of the IIS application pool, understand its purpose, và learn details about the different types of pools.


Troubleshooting & optimizing your code is easy with integrated errors, logs & code cấp độ performance insights.

A Brief Introduction lớn IIS

IIS stands for Internet Information Services, as you’ve sầu seen in the introduction. Formerly known as “Internet Information Server,” IIS is a web VPS created by Microsoft.

The paragraph above sầu summarizes what IIS is. We could leave sầu it at that & Call it a day, if not for the “website server” part. You see, “website server” is a somewhat ambiguous term, because it can mean two different—yet related—things.

“Web server” can mean a computer (which can be both a physical machine or a virtualized computer. ) It can also mean a type of software that runs on said computer. Both the hardware and software varieties of the website servers are there for the same purpose: they take & reply to requests.

Since Microsoft is—or at least has been, for the most part of its history—a software company, it shouldn’t take you long khổng lồ understand that IIS belongs lớn the “software” category of web servers. So, IIS is an application used khổng lồ host and manage web applications/websites on Windows. It was introduced baông xã in 1995 as a không lấy phí add-on for Windows NT 3.51, and it’s been part of the Windows NT family since then.

*

The Concept of “Pools” in Tech

Tech workers come across the concept of pools all the time in their works; this is especially true for software development. Since it’s such a pervasive concept, it’d make sense lớn dedicate a little time to lớn define it.

According lớn Wikipedia:

In computer science, a pool is a collection of resources that are kept ready khổng lồ use, rather than acquired on use & released afterwards.

You might think that the definition above sầu doesn’t sound that far from caching, và you wouldn’t be far from the truth. Sure, there are differences between the concepts, but they also have sầu a lot in comtháng. Think of caching as storing values for later reuse, while pooling đơn hàng with resources.

The justification for adopting pools is usually performance; for instance, think about scenartiện ích ios when acquiring some resources might present a high-cost. In situations lượt thích that, pooling might come in handy.

A common example would be a pool of database connections. Creating connections presents relevant costs, so it’s advantageous to keep a pool of existing connections from which programming routines can obtain them, instead of creating new connections every time one is required.

Xem thêm: Năm Sinh Năm 1964 Tuổi Gì ? Tử Vi Tuổi Giáp Thìn (1964) Nam, Nữ

IIS Application Pool – What It Is, What It’s Used for

We started the post by giving an overview of IIS, proceeding to define the concept of “pools” in tech. Now we’re ready khổng lồ put it all together and start answering the title question.

Defining the IIS Application Pool

After learning about IIS and understanding the meaning of the pool in Computer Science, defining the “IIS application pool” should be almost trivial. An IIS application pool is a pool—i.e., a collection—that houses applications on IIS. Each application pool consists of a process called w3wp.exe that runs on the server machine. That’s pretty much it.

The question then obviously becomes: why? What is the purpose of application pools on IIS? What vị you use them for? Are there implications for your apps?

IIS Application Pool: Understanding the Need

As the previous section just covered, you can think of an application pool as a collection or compartment of applications. An application pool can contain n apps, & it allows you lớn create isolation levels for your applications. Why would that be useful?

One reason khổng lồ adopt application pools might be lớn ensure availability for your apps. Since each pool runs in its dedicated process, an error in one phầm mềm won’t take down applications in other application pools.

Additionally, you might want to lớn use application pools khổng lồ configure different levels of security for different applications. For instance, you have sầu five applications. One of them requires a higher level of security than the other four. In this case, you could create two separate application pools for the two different groups of applications. You can configure each pool to run under a different user tài khoản, by specifying the identity for the Application Pool.

Finally, you might also want khổng lồ run applications on different versions of the .NET framework. This is yet another case where the application pool might come in handy.

*

Going Deeper: Shared vs. Dedicated Application Pools

You can classify IIS application pools into two main categories: shared application pools & dedicated application pools.

Shared Application Pools

You hotline an application pool “shared” if it hosts several web applications running under it. You’d typically combine many applications inkhổng lồ a single application pool if you want to preserve the memory of the hệ thống. As we have sầu already mentioned, each pool consists of a w3wp.exe process. If you have ten applications, each one in its own pool, that means you have sầu ten processes in execution. On the other hvà, if you host all ten applications under a single application pool, you over up with a single w3wp.exe process running.

What about a dedicated application pool? Well, that’s exactly the opposite: you say a pool is dedicated when it only has a single application running on it. Isolating each phầm mềm in its own pool enables you khổng lồ have sầu a more rigid separation between them. Also, as we’ve sầu already said, this compartmentalization prevents the crash of an ứng dụng that brings other apps down as well.

Dedicated Application Pools

Here are some of the most important advantages of having dedicated application pools over shared ones:

Isolating applications that demand more resources, so they don’t harm the performance of the other applications.Preventing problems with one application bringing the other apps downPreventing an application accessing the data from another one.Having different settings (e.g., different .NET version) for different apps.Isolating low-trust applications in a restrictive sầu, low privileges, environment to prevent them from getting unauthorized access to lớn other apps.

The disadvantage of dedicated application pools boil down to resource usage: since each pool is its own process, more resources are required.

Which One Should You Pick?

Which type of pool should you use? It’s impossible khổng lồ give sầu a one-size-fits-all answer. Each case will be different and needs to be analyzed individually. However, we’ll give you a rule-of-thumb you can follow to identify certain scenarquả táo for a dedicated pool. Here it goes: prefer a dedicated application pool if your application matches at least one of the following criteria:

It’s a critical application for some reason.It’s an application you don’t fully trust (e.g., it’s a third-các buổi party app).It consumes too many resources.

Those are some good reasons to lớn prefer dedicated application pools. But as we’ve sầu said, this is only a rule-of-thumb. Don’t follow it blindly, & never forget khổng lồ exercise critical judgment.

Xem thêm: Cfs Là Phí Gì - Những Ý Nghĩa Khác Nhau Cần Phân Biệt Của Từ Cfs

IIS Application Pool: Learn How to Use It & Profit

Was that all there is to lớn know about IIS & its application pools? On the contrary: all that you’ve sầu read is nothing but the tip of the iceberg. Now it’s up khổng lồ you lớn consider studying and learning more. An interesting next step would be learning how to lớn monitor IIS performance: it sort of acts as a sequence lớn the topic of this post.If you want khổng lồ go a step further, you should start checking out tools at your disposal. For instance, take a look at Retrace, which is an application performance management system by ucancook.vn.