Igor Shastitko Technical Blog

Igor Shastitko | Игорь Шаститко - технический блог о решениях Microsoft.
Posts
  • Igor Shastitko Technical Blog

    Онлайн трансляция семинара для ИТ-специалистов

    • 1 Comments

    Тема: Server Core, начало в 18:30.

    Логин/пароль для подключения доступны по адресу http://itproua.groups.live.com/discussions/discussion.aspx?id=cns!92ACC2DB78F52!146

    Добро пожаловать всем желающим.

  • Igor Shastitko Technical Blog

    Вопросы на семинарах и Windows 7/Windows Server 2008 R2

    • 1 Comments

    Итак, продолжая тему ответов на вопросы, заданных на идущих сейчас в Киеве семинарах, хочу озвучить 2 наиболее часто задаваемых вопроса:

    1. Я не из Киева, но мне хотелось бы послушать данный семинар, задать вопросы, посмотреть демонстрации. Могли бы вы проводить такие семинары в режиме онлайн или публиковать где-то записи?

    В связи с тем, что в анкетах и по почте мы получили массу таких запросов – со среды, 25 февраля, мы начинаем регулярное онлайн-вещание вечерних семинаров (для ИТ-специалистов) в формате Live Meeting. Таким образом, все, кто не может лично присутствовать на семинарах вечером, с 18:30 до 21:30, в среду и пятницу в офисе Майкрософт Украина (по адресу ул.Жилянская, 75, 4 этаж) – смогут поучаствовать в мероприятии виртуально. Планируется передача картинки на 300кб/сек, что позволит нормально отображать и презентации/демонстрации, и видео докладчика (в виде, например, “говорящей головы” Игоря Шаститко), и задавать вопросы в режиме чата.

    Собственно приглашение на событие Live Meeting будет публиковаться для всех пользователей на портале события http://itproua.groups.live.com (торопитесь зарегистрироваться :) ) примерно за 1 час до начала вещания – чтобы вы успели установить клиента Live Meeting (у кого еще его нет и потестировать канал :) ).

    По поводу просмотра материалов в записи – могу сказать, что мы свои обещания помним и кроме презентаций и ссылок по прошедшим темам все на том же портале http://itproua.groups.live.com скоро появится и оцифрованные видеозаписи предыдущих сессий. Задержка связана с достаточно большим размером исходного видео, необходимостью его “разрезки” на сцены (с ограничением в размере файла в 50МБ) и при этом подборе такого размера и качества картинки, при котором отснятый материал продолжал бы быть “читаемым” и наглядным. Мы сейчас над этим работаем.

    2. Почему ваш семинар посвящен только решениям на базе уже существующих продуктов – Windows Server 2008, System Center 2007, Exchange Server 2007 и т.п.? Когда вы планируете рассказать про Windows 7/Windows Server 2008 R2?

    Как я уже говорил – задача серии данных семинаров – помочь службам ИТ (как руководителям, так и техническим специалистам) сконцентрироваться на повышении эффективности работы их подразделения для бизнеса, особенно в условиях кризиса – минимизировать как прямые затраты на поддержку ИТ-инфраструктуры (TCO), так и косвенные затраты (например, потеря производительности и рабочего время пользователей из-за простоев ИТ) согласно модели оптимизации ИТ-инфраструктуры. Я уже неоднократно выступал перед разными аудиториями с презентацией концепций модели оптимизации (и, как показывает опыт – идеи модели нашли отклик на многих предприятиях Украины), поэтому в этот раз мы решили перейти в практическую плоскость – сделать 27 мероприятий, которые помогут ИТ-специалистам понять и внедрить все сервисы и технологии, описываемые в модели. И, поскольку, созданая ИТ-инфраструктура должна быть стабильна и надежна – она должна строиться на стабильных и надежных продуктах. Поэтому на семинарах речь идет о уже существующей и обкатанной линейке продуктов 2007-2008, увы, бета-версии в рабочей инфраструктуре рассматриваться не могут.

    НО! Безусловно, мы не оставим без внимания новинки Windows 7 и Windows Server 2008 R2. Мало того, при создании семинара TechNet 2009, посвященного Windows 7 мы планируем включить в него материалы и темы, которые наиболее интересны нашему локальному ИТ-сообществу – т.е. непосредственно вы можете принять участие в создании данного семинара. Также этот семинар будет проходить не только в “реале” в виде презентаций и демонстраций в какой-то из дней (мая 2009), и будет не только записан на видео для просмотра всеми, кто не сможет быть в нужное время в нужном месте, но и будет многократно повторен через Live Meeting (который, я надеюсь, мы многократно “обкотаем” в ходе текущих семинаров) в онлайне.

    План работы над таким достаточно “уникальным” семинаром и его проведения примерно таков:

    • уже сейчас открыт портал http://technet09.groups.live.com/, на котором вы можете оставлять описание тех тематик и те вопросы, ответы на которые бы вы хотели услышать на семинаре TechNet
    • Примерно в конце марта или 1 апреля все ваши вопросы будут классифицированы, уточнены и будет предложено на обсуждение расписание собственно семинара. Некоторые из вопросов, которые не попадут в “большое” расписание (увы, время выступлений ограничено одним днем или примерно 5 презентациями по 1:30), будут предложены в виде “бонусного пакета” вебкастов еще перед началом семинара и опубликованы на сайте для просмотра и обсуждения.
    • Непосредственно сам семинар TechNet 2009 планируется провести на третьей неделе мая. Для регистрации на семинаре первыми получат приглашение активные участники, задававшие вопросы на http://technet09.groups.live.com/, а также наиболее активные посетители текущих семинаров по ИТ-инфраструктуре. Семинар будет записываться на видео и вестись его прямая трансляция через Live Meeting или Windows Media Services.
    • После этого все материалы прошедшего “реального” семинара будут помещены на сайт и мы возьмем паузу в неделю, чтобы все желающие смогли познакомиться с материалами… Зачем?
    • Через неделю после семинара (ориентировочно, в начале июня) мы планируем провести в течении 2х недель ежедневные 2хчасовые сессии вопросов и ответов со скользящим графиком в режиме Live Meeting. На этих сессиях все, кто не смог присутствовать непосредственно на семинаре или у кого возникли дополнительные вопросы – смогут задать их в онлайне и получить исчерпывающий ответ, повторить те или иные сценарии, которые демонстрировались в процессе демонстрации и многое другое. При этом записи всех этих сессий также будут публиковаться на портале http://technet09.groups.live.com/, что позволит собрать досточно мощную базу знаний по тематике новых продуктов, которую можно будет спокойно изучать в период отпусков. :)

    Приглашаю всех к сотрудничеству. Хотите интересный семинар с актуальными для вас темами – давайте сделаем его вместе!

  • Igor Shastitko Technical Blog

    Tecтирование Windows 7 – наблюдения за скоростью копирования

    • 15 Comments

    Одним из наиболее “больных” мест Windows Vista сообществом считается низкая скорость файловых операций, особенно на внешних USB-устройствах.

    Если честно, то я не планировал специально доказать обратное по отношению к Windows 7 – оно само так получилось :) Мне просто надо было скопировать на внешний USB-диска образ с Office 2007 для переноса на сервер с виртуалками, который находился на рабочем ноутбуке, работающем теперь под управлением Windows 7 beta. Я, не долго думая, подключил первый попавшийся USB-драйв, нашел этот файл образа размером в 559МБ, выполнил для него Send To … и тихо удивился… Скорость копирования на внешний USB-диск, 2.5” который, не самый быстрый – была практически мгновенной, а показанные значения копирования зашкаливали за недостижимые физически для драйва 65МБ/сек!!! Сравнил с аналогичной операцией над тем же файлом туда же по Windows Vista – 8МБ/сек?!… Жуть как разогнали, казалось бы, винты и USB-интерфейсы под Win7. Для тех, кто не верит – приводятся оригинальные скриншоты окна копирования (слева – Vista, справа – Windows 7):

    copy-vista copy-win7-7000

    Но недолго пришлось радоваться… Оказалось, что на 8-10 секунд копирования (вернее, движения прогресс-бара диалога) приходится еще 15-18 секунд ожидания завершения операции, при том, что статус операции достиг своего завершения (похоже, Windows 7 “сбрасывает” кеш) – итого, примерно 28 секунд копирования файла размером 559МБ дают нам среднюю скорость в 20МБ/секунду записи на USB-драйв, что существенно выше показанных Windows Vista. Но то, что прогресс-бар и показатель “мгновенной скорости” копирования врет безбожно (как это было когда-то на Windows XP) – стало совершенно очевидно.

    copy-win7-7022 Все эти эксперименты я проводил в выходные, а уже в понедельник мне случайно досталась новая сборка 7022. И, представьте, каково было мое удивление, когда я решил проверить диалоговое окно копирования и его показания скорости для этого же файла… Прогресс-бар показывает теперь (в сборке 7022) процесс копирования корректно, т.е. диалоговое окно закрывается при достижении им конечной отметки сразу, без столь длительного ожидания в 15 сек, как это было в сборке 7000. Зато… правильно – из этого диалогового окна совершенно пропали показатели мгновенной скорости копирования… вообще… и еще – увидить время до окончания операции мне тоже так и не удалось, даже на более крупных файлах.  Только Calculating… Похоже, разработчики еще прорабатывают правильный алгоритм подсчета скорости копирования и времени окончания.

    Но если говорить об абсолютных замерах, то 7022 справилась с операцией копирования 559МБ файла на USB-диск уже за 23 секунды, что дает достаточно неплошие показатели в 24МБ/сек, а вот время копирования С USB-диска 2,5ГБ файла состалило всего 80 сек, что позволяет говорить о 32МБ/сек. Что весьма и весьма радует… Подождем теперь, что покажут другие публичные сборки Windows 7.

  • Igor Shastitko Technical Blog

    IIS 7.0: краткая инструкция для системного администратора. Часть 1 – установка FastCGI/PHP

    • 0 Comments

    По просьбам трудящихся продолжаю приостановленную ввиду высокой рабочей нагрузки тему администрирования веб-серверами под управлением IIS 7.0 (темы установка, тестирование и конфигурирование Server Core для IIS). Решил “перепрыгнуть” через несколько запланированных тем и перейти к наиболее часто задаваемому вопросу “как установить PHP на IIS 7.0?”. Отвечаю – просто… :)

    Для начала хочу сказать пару слов о теории этого процесса. Для повышения производительности и эффективности работы CGI-приложений, скрипты которых обычно вызываются по запросу к веб-серверу путем создания рабочего процесса обработчика и после выполнения скрипта этот рабочий процесс уничтожается, в IIS 7 реализован механизм FastCGI. FastCGI реализует механизм повторного использования запущенных процессов обработчиков тех или иных скриптов (например, PHP), что позволяет значительно повысить производительность и распараллелить выполнение разных скриптов одним процессом, даже если многопоточная обработка запросов не реализована в самом обработчике. Все это делает IIS 7.0 одной из самых производительных платформ для веб-решений на базе того же PHP.

    Итого, для администратора здесь присутствуют 3 задачи – установить и сконфигурировать FastCGI, “родной” модуль IIS 7.0; установить и сконфигурировать Windows-реализацию нужного интерпретатора скриптов (как наиболее часто используемый сценарий рассматриваем PHP); “подружить” между собой IIS и PHP.

    Задача 1 – установка FastCGI.

    Модуль FastCGI является штатной единице IIS 7.0 и входит в состав более “крупного” сервиса CGI, который просто выберается в мастере установки роли IIS, рассмотренном в предыдущих постах.

    cgi1

    При успешном процессе установки, по окончании мастера установки IIS с выбранным сервисом CGI в консоли менеджера IIS – Internet Information Services (IIS) Manager – при выборе узла сервера или сайта в дереве конфигурации в центральной панели среди иконок модулей должна появиться иконка CGI

    iis1

    Далее, если планируется использование PHP, то, кроме обычной процедуры установки обновлений к Windows Server 2008 и IIS 7.0 рекомендуется также установить обновление KB954946, которое улучшает работу PHP с переменными окружения.

    iis2

    Итого, начальная установка модуля FastCGI для исполнения PHP или каких-либо других CGI-скриптов под IIS 7.0 завершена.

    Задача 2 – установка и начальное конфигурирование PHP под Windows.

    Берем “почти обычный” PHP под Windows по штатному адресу сайта сообщества PHP – http://www.php.net, выбираем там последнюю устойчивую сборку (на момент написания это 5.2.8). А “почти” потому, что нам требуется та сборка, которая Non-thread-safe (как уже писалось выше, FastCGI сам занимается управлением потоками и зачем тогда лишний раз дублировать эту функциональность? Кстати, это тоже дает небольшое повышение производительности), да и собственно инсталлировать там нечего, поэтому берем простой .ZIP архив, который мы просто распакуем и сконфигурируем далее.

    iis3 cgi3

    После загрузки архивного файла с нужной сборкой PHP, распаковываем его на наиболее подходящий для каждой конкретной конфигурации веб-сервера диск с соответствующей папкой (для данного примера это C:\PHP528). Находим в папке файл базовой рекомендуемой конфигурации php.ini-recommended и просто переименовываем его в php.ini.

    cgi5

    Открываем полученный php.ini в любом текстовом редакторе (Notepad вполне подойдет): и производим несколько правок, а именно:

    • Устанавливаем значение переменной конфигурации fastcgi.impersonate = 1 – это обеспечит возможность запускать PHP-скрипты с параметрами безопасности учетной записи, определенной в Application Pool сайта
    • Установка cgi.fix_pathinfo = 1 обеспечивает “правильную” работу PATH_INFO
    • Запрещаем (явно, для безопасности) редирект cgi.force_redirect = 0
    • В случае, если у нас единичный сайт (или сайты одно разработчика/пользователя) под управлением PHP, указываем путь к корневому каталогу сайта в переменной open_basedir. Если сайтов несколько и все они требуют собственных путей, то это можно указать отдельно, через параметры <fastCGI> или <handlers> конфигурационных файлой IIS: applicationHost.config (для всего сервера) или web.config (отдельного сайта)
    • и, наконец, указываем путь к расширениям PHP, идущим в комплекте или используемым отдельно, через переменную extension_dir = ./, которую меняем на полный “правильный” путь к расширениям типа нашего “C:\PHP528\ext” и не забываем раскомментировать нужные расширения из списка ниже самого параметра.

    Все, базовые параметры для работы PHP настроены, тонкости “заточки” мы обсудим позднее. Теперь остался последний шаг – сконфигурировать совместную работу IIS 7.0 и PHP.

    Задача 3 – конфигурирование IIS 7.0 для работы с PHP.

    Проще простого – выбираем в левой панели Internet Information Services (IIS) Manager либо узел всего веб-сервера (это позволит сконфигурировать PHP на обработку запросов к любому веб-сайту), либо отдельного веб-сайта (это позволит держать разные версии PHP для разных веб-сайтов) и в центральной панели находим иконку модуля “Handler Mappings”, отвечающего за “привязку” различных вызовов к модулям-ответчикам, и открываем его.

    cgi6

    Видим список текущих привязок, убеждаемся, что к расширению типа *.php еще никто не "привязался". В правой панели консоли с открытыми параметрами "Handler Mappings" выбираем действие "Add Module Mapping...". Привязка именно модуля и обеспечит нам выполнение скриптов с расширением *.php с применением PHP, но среда их выполнения будет контролироваться модулем FastCGI. Для этого в открывшемся диалоговом окне Add Module Mapping вводим в поле "Request path:" значение *.php, из списка "Module:" выбираем FastCgiModule, в "Executable" при помощи кнопки "..." находим php-cgi.exe в каталоге с только что развернутым PHP (для нашего примера это C:\PHP528\php-cgi.exe), ну а имя в поле "Name:" - по личной фантазии - я предпочитаю что-то типа PHP 5.2.8. И нажимаем в диалоговом окне Ok, а после, подтверждаем наши действия еще раз кнопкой Yes.

    cgi7 cgi8

    Все сделано. Теперь IIS 7.0 может успешно выполнять скрипты PHP. Единственная рекомендация – для каждого веб-сайта под управлением PHP создавать свой отдельный Application Pool и запускать его под специальной учетной записью.

    Для проверки работы PHP создаем в каталоге C:\inetpub\wwwroot (путь к корневому каталогу сайта по умолчанию Default Web Site) текстовый файл с расширением .php (например, start.php) со следующим содержимым:

    <?php
          phpinfo();
    ?>

    и вызываем его из браузера, например, http://localhost/start.php. Если вы видите на своем экране примерно то же, что приведено на скриншоте ниже – значит, PHP у вас работает нормально.

    cgi9

    Продолжение темы по администрированию IIS 7.0 следует.

Page 1 of 1 (4 items)