国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計(jì) > 正文

IIS app pools, worker processes, app domains

2019-11-17 02:08:53
字體:
供稿:網(wǎng)友

IIS app pools, worker PRocesses, app domains

Copy fromhttp://stackoverflow.com/questions/14105345/iis-app-pools-worker-processes-app-domains

I try to say them with other Words.

In a server you can have many asp.net sites that runs together. Each one site is anapp domain.

You must assign to each of them oneapplication pool. Many application domains (sites) can have the same application pool, and because they have the same application pool they run under the same processes, and under the same account - and they have the same settings of the pool. If this pool restarts, then all sites under that pools restarts.

Now each pool can have one or moreworker process. Each worker process is a different program that's run your site, have their alone static variables, they different start stop calls etc. Different worker process are not communicate together, and the only way to exchange data is from common files or a common database. If you have more than one worker process and one of them make long time calculations, then the other can take care to handle the internet calls and show content.

When you assign many worker process to a single pool then you make the calledweb gardenand your site is like to be run from more than one computer if a computer is one processing machine.

Each worker process can have many threads.

How the more worker process affect you:When you haveone worker processeverything is more simple, among your application all static variables are the same, and you use thelockto synchronize them.When you assignmore than one worker processthen you still continue to use thelockfor static variables, static variables are not different among the many runs of your site, and if you have some common resource (e.g. the creation of a thumbnail on the disk) then you need to synchronize your worker process withMutex.

One more note. Its sounds that when you makemore worker processthen you may have more smooth asynchronous page loads. There is a small issue with the session handler of asp.net that is lock the entire process for a page load - that is good and not good depend if you know it and handle it - or change it.

So let talk about one site only with many worker process. Here you face the issue that you need to synchronize your common resource change withMutex. But the pages/handlers that use session they are not asynchronous because the session locks them. This is good for start because you avoid to make this synchronization of many points your self.

Some questions on this topic:Web app blocked while processing another web app on sharing same sessionjQuery Ajax calls to web service seem to be synchronousASP.NET Server does not process pages asynchronouslyReplacing ASP.Net's session entirely

Now this session lock is not affect different sites.

Among different sites the more worked process can help to not the one site block the other with long running process.Also among different sites the more pools also can help, because each pool have at least one worked process, but remember and see by your self using the process explorer, each working process takes more memory of your computer, and one big server with 16G memory and one SQL server can not have too many different worked process - for example on a server with 100 shared sites, you can not have 100 different pools.


發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 正宁县| 平昌县| 江北区| 鸡东县| 民勤县| 大庆市| 师宗县| 永兴县| 浦东新区| 五家渠市| 沂水县| 广西| 牙克石市| 台南县| 岗巴县| 望谟县| 娄底市| 上饶县| 永州市| 基隆市| 河间市| 密云县| 济源市| 仲巴县| 江孜县| 闻喜县| 涟源市| 建始县| 横山县| 盐源县| 蓝田县| 明水县| 吉安市| 永平县| 泸西县| 兰州市| 石景山区| 凌海市| 万源市| 河津市| 基隆市|