Открыть список
Как стать автором
Обновить

Комментарии 7

По пункту про память. Замечу, что проблема была не про потребление памяти рабочим процессом — а суммой основных служб IIS, можете исключить из списка процессов процессы рабочих процессов :-) и вы получите потребление памяти не в 5 раз больше а существенно выше. Конфигурация рабочих процессов тут как-то мимо кассы. Это раз. Во-вторых — то есть, поддержка 1000 активных сайтов на сервере по мнению группы IIS эффективнее в режиме с выделением рабочего процесса на КАЖДЫЙ сайт? Можно ссылку на рекомендацию на официальном сайте? Вместо одного процесса w3wp иметь 1000 процессов? Кроме того, что это бред, извините, множество рабочих процессов IIS не снимут проблему потребления памяти другими службами IIS, ведь так?
Подробнее ещё раз — www.iis7.ru/iis7memory.gif

Исключаем рабочие процессы:

IIS7:
inetinfo.exe — 838 mb
svchost.exe — 1054 mb

IIS6:
inetinfo.exe — 35 mb
svchost.exe — 39 mb

При этом на тот момент сайтов на IIS6 больше.
Форма ruslany.net/contact/ не работает: жму send message, крутится крутилка, ничего не происходит. И так много раз. Ну, ладно.

Собственно, хотелось бы вам такой вот фидбэк дать про IIS. У меня есть тайная надежда, что это поможет. Может быть вы ещё кому-нибудь покажете что-нибудь типа dmih.livejournal.com/tag/iis7 (вы смотрели?), и он что-нибудь сделает.

Будет плохо, если вы просто посмотрите, ответите что-нибудь сюда, все прочитают а потом забудут. Для этого и затевать всё это не стоило. Хочется надеятся, что что-нибудь из этого всё же посмотрят поближе и сделают выводы. Хотя бы в IIS8.
Я Руслану передам feedback. И на счет форму расскажу.
Спасибо. Я могу передать необходимые подробности, если потребуется. Тут есть сложность, что это всё у нас не тестовые сервера а реальные с клиентскими сайтами. Просто так взять и все предоставить я не могу :-)
dmach, я поговорил с девелопером который кодировал WAS — он подтвердил, что WAS действительно потребляет больше памяти, особенно в случае хостинга когда на одной машине находится множество сайтов. Причина, как было уже упомянуто, в том что WAS загружает все содержимое applicationHost.config в память и потом соединяет и раздает конфигурацию в рабочие процессы. Размер памяти потребляемой WAS прямо пропорционален размеру applicatioHost.config. Команда, которая работает над WAS'ом, сказала, что они слышали об этой проблеме от клиентов и рассматривают способы улучшить это в IIS8 (надо уточнить что в Win7 и Windows Server 2008 R2 будет IIS 7.5, с существующей конфигурационной системой).
Насчет разделения сайтов в различные рабочие процессы — это не бред :), вот ссылка на хостинг документацию, которая была написана IIS командой. Там есть MS Word атачмент к посту (его не очень легко заметить). Мы работали с многими хостерами, чтобы проанализировать типичную веб нагрузку на серверах. На основе этого был определено, что не все сайты активны не сервере одновременно. В среднем обычно 10% сайтов работают, что уменьшает количетсво рабочих процессов на сервере. Конечно, веб нагрузка может отличатся от хостера к хостеру. Параметры тестированя которые использовались IIS командой были следуюшие:
1. До 4000 веб сайтов в отдельных рабочих процессах(не все рабочие процессы работают одновременно)
2. Нагрузка: 90% запросов на 10% сайтов (примерно 400 рабочих процессов работают одновременно)
Это тестировалось на машине с 4 Гб памяти и все это выдавало приемлемые результаты. Я не упоминаю здесь детали других преимуществ разделения процессов (security isolation, manageability, etc).
Наверняка есть какие то причины по которым вы выбрали конфигурацию с использованием одного рабочего процесса для 1000 сайтов. Некоторые хостеры, которые работают с IIS7 используют такую конфигурацию. С такой конфигурацией размер DefaultAppPool.config будет сравнимый с размером applicationHost.config (вы это упоминали в своем блоге). Если бы использовались отдельные рабочие процессы то размеры каждого временного .config намного меньше. Это конечно же не значит, что полное потребление памяти на сервере будет меньше если будут работать 1000 рабочих процессов вместо одного, но если не все 1000 сайтов активны в одно и то же время, то возможно, что полное потребление памяти будет меньше.
Теперь конкретно о svchost.exе и inetinfo.exe. Насколько я понимаю, вы используете metabase compatibiliy для конфигурирования сервера. Опять же, наверняка у вас есть какие то причины для этого, но если бы вы могли избавится от metabase compat, и использовать новые средства конфигурации, то тогда бы у вас не было intinfo.exe.
Как я уже упоминал, размер svchost.exe, где находится WAS, прямо пропорционален размеру applicatioHost.config. Я слышал (но сам не тестировал), что при использовании ADSI, может получится, что конфигурация по умолчанию в applicationHost.config файле дублируется для индивидуальных сайтов, что в некоторых случаях может увеличить размер конфиг файла. Если вы можете выслать мне applicationHost.config файл (пожатый) на ruslany at microsoft dot com, то можно будет более точно подтвердить это.
Спасибо за коментарии, было интересно почитать ваш блог :). Я починил контакт форму на своем сайте (баг в WordPress плагине) — так что можете использовать ее (http://ruslany.net/contact/), если есть какие то вопросы по IIS. Также, можете использовать email адрес упомянутый выше.
Спасибо, что-то сюда не заглядывал пару дней. Добавлю, что та ссылка была не на мой блог а на блог другого нашего человека, но это не столь важно :-)

То, что данные дублируются из-за ADSI — это мы знаем, но у нас пока общая система для управления сайтами IIS6/IIS7 и её «разбиение» на две части процесс не быстрый, к сожалению.
Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.