Первое - несколько разных вебсерверов в кластере, второе - просто одна машина с несколькими процессорами, обрабатывающими ASP.NET. Я тоже когда первый раз нашел - хихикал над этой тонкостью.
Кстати, по умолчанию, ASP.NET на мультипроцессорной машине исполняется только на одном процессоре.
Потому что ASP.NET процессы, исполняемые на разных процессорах, не могут иметь общей in-process сессии. То есть нужно настраивать либо отдельный сервер для хранения out-of-process сессии, либо SQL сервер. Чтобы упростить инсталляцию видимо сделали так. В этом несложно убедиться, если поглядеть на webGarden в machine.config.
чушь какая. процесс-то один. просто его треды могут исполняться на разных процессорах, как оно всегда и делается по умолчанию. так что сессия остаётся in-process.
> вы часом не путаете "один процессор" и "один процесс"?
А для ASP.NET это практически один хрен, по крайней мере, если речь идет о IIS5: он запускает отдельный рабочий процесс на каждом отдельном процессоре. Поэтому сессия у каждого своя. C IIS6 есть тонкости, но мне с ним еще работать не приходилось.
кроме того, неважно, на чём там запускается IIS, поскольку asp.net сессия хранится в пространстве процесса aspnet_wp.exe (на win2003 он по-другому называется), которому IIS просто передаёт реквест по ISAPI.
ну и наконец, даже если это правда, что aspnet_wp.exe использует только один процессор (в чём я сильно сомневаюсь), исходный вопрос так и остаётся неотвеченным: НАФИГА?
Cделали так, чтобы упростить инсталляцию, видимо. Потому что пришлось бы тогда у админа спрашивать где сервер для сессий находится и т.п. А так тихо встала на один процессор и улю.
> aspnet_wp.exe использует только один процессор (в чём я сильно сомневаюсь)
Нет, его можно сконфигурировать, чтобы он на всех процессорах ранался или только на некоторых. Делается в два пинка. Но при инсталляцию он встает только на один.
Потому что пришлось бы тогда у админа спрашивать где сервер для сессий находится и т.п.
я ужасно извиняюсь за занудство, но мне всё время кажется, что у нас есть непонимание из-за разницы в терминологии. я под процессором понимаю CPU, камень, который в слот вставляется. железо. кремний, то есть. какое он отношение имеет к "у админа спрашивать где сервер для сессий находится"? запускаем один aspnet_wp процесс, он работает на всех имеющихся процессорах, как это в виндах принято по умолчанию, он же хранит state. всё. зачем усложнять?
(no subject)
Date: 2005-06-23 10:32 pm (UTC)Кстати, по умолчанию, ASP.NET на мультипроцессорной машине исполняется только на одном процессоре.
(no subject)
Date: 2005-06-24 03:28 am (UTC)нафига?
(no subject)
Date: 2005-06-24 06:28 am (UTC)(no subject)
Date: 2005-06-24 02:51 pm (UTC)(no subject)
Date: 2005-06-24 03:56 pm (UTC)(no subject)
Date: 2005-06-24 03:58 pm (UTC)(no subject)
Date: 2005-06-24 04:27 pm (UTC)А для ASP.NET это практически один хрен, по крайней мере, если речь идет о IIS5: он запускает отдельный рабочий процесс на каждом отдельном процессоре. Поэтому сессия у каждого своя. C IIS6 есть тонкости, но мне с ним еще работать не приходилось.
(no subject)
Date: 2005-06-24 05:19 pm (UTC)кроме того, неважно, на чём там запускается IIS, поскольку asp.net сессия хранится в пространстве процесса aspnet_wp.exe (на win2003 он по-другому называется), которому IIS просто передаёт реквест по ISAPI.
ну и наконец, даже если это правда, что aspnet_wp.exe использует только один процессор (в чём я сильно сомневаюсь), исходный вопрос так и остаётся неотвеченным: НАФИГА?
(no subject)
Date: 2005-06-24 05:25 pm (UTC)> aspnet_wp.exe использует только один процессор (в чём я сильно сомневаюсь)
Нет, его можно сконфигурировать, чтобы он на всех процессорах ранался или только на некоторых. Делается в два пинка. Но при инсталляцию он встает только на один.
(no subject)
Date: 2005-06-24 05:50 pm (UTC)я ужасно извиняюсь за занудство, но мне всё время кажется, что у нас есть непонимание из-за разницы в терминологии. я под процессором понимаю CPU, камень, который в слот вставляется. железо. кремний, то есть. какое он отношение имеет к "у админа спрашивать где сервер для сессий находится"? запускаем один aspnet_wp процесс, он работает на всех имеющихся процессорах, как это в виндах принято по умолчанию, он же хранит state. всё. зачем усложнять?
(no subject)
Date: 2005-06-24 05:53 pm (UTC)Зачем она запускает раздельные рабочие процессы, на разный процессорах, я не знаю. Это просто такая реальность данная нам в ощущениях. ;)