• Sharing общих сборок между процессами и доменами в IIS

    В микросервисном мире добавление новой функциональности осуществляется путем написания нового сервиса. При этом стоимость добавления новой единицы составляет минимум 150 Мб оперативной памяти, хотя нашего кода в нем достаточно мало и используются, как правило, одни и те же сборки с небольшими отличиями в версиях.


    В этой статье будут показаны пути оптимизации исключительно за счет настроек сервера, таким образом переписывание и перекомпиляция приложений не потребуется. Будет достигнут результат 25 Мб в среднем на один микросервис.

    Читать дальше →
    • +21
    • 3,4k
    • 9
  • Как IIS поддерживает нашу BI-аналитику, и в чем особенности настройки под Highload


      В аналитической части бэкенда Яндекс.Денег активно используется Microsoft IIS, и уже накопился некоторый багаж знаний о его применении в высоконагруженной среде, которым хочется поделиться.


      Наша аналитика работает на стеке Microsoft (SQL Server и продукты SSIS, SSAS, SSRS) – одном из лучших на рынке BI-решений. Раз в основе нашего BI лежат сервисы одного вендора, то логично и для размещения веб-приложений использовать решение Microsoft – IIS.


      В статье расскажу о тех особенностях работы с запущенными на IIS приложениями, которые характерны для высоконагруженной среды.

      Читать дальше →
    • RequestQueueLimitPerSession и его распространение на старые версии .net

      Доброго времени суток! В этой статье хотел бы поделиться решением неожиданной проблемы, возникшей в одном из проектов, над которым я сейчас работаю.

      Что может быть опасного в обновлении .net 4.6.1 до .net 4.6.2? Я считал что для процесса обновления минорной версией достаточно прочитать release notes, чтобы избежать серьезных проблем. Однако, как выяснилось, Microsoft может привнести очень интересные и занимательные изменения в обход release notes, которые смогут вас занять в «скучные летние вечера и выходные дни».

      Под катом будет описание одной проблемы возникшей из-за обновления и пути её решения, а так же немного исходников .net.
      Читать дальше →
    • IIS Request filtering против ddos-атаки

        Лежим


        Заказчик, чьи сайты я поддерживал ранее, обратился с тем, что сайт лежит и отдает 500 ошибку. У него стандартный сайт на ASP.NET WebForms, не скажу, что очень нагруженный, но бывали проблемы с производительностью базы данных (MS SQL Server на отдельном сервере). Недавно сервер БД поменяли и перенесли данные.

        Этот сайт не основной бизнес заказчика, поэтому практически не обслуживался. У него не настроено никакого мониторинга  и сбора метрик и вообще за ним особо не следят.

        Данные телеметрии


        Какие аномалии бросились в глаза:

        1. Процесс w3wp использовал более 50% CPU (обычно сильно меньше).
        2. Количество потоков в этом процесс стабильно прирастало (сайт не успевал обслужить клиентов).
        3. Диск на сервере БД использовался на 100% (Active Time).
        4. Длина очереди обращений к диску с базами проекта была большой (обычно в районе нуля-единиц).
        5. Оперативная память на сервер БД использована полностью.
        6. Профайлер показал, что есть один горячий метод, который ходит в БД.
        Читать дальше →
      • Развёртывание Django 1.9 на IIS 7+

        Предисловие


        Всем привет!


        Не так давно ко мне обратились с просьбой о создании сайта. Интересный крупный проект с множеством "хочу вот это". Среди пожеланий были два главных, определивших web framework для написания, это интернационализация и панель администратора. Как уже понятно из заголовка статьи, таким framework'ом стала Django.


        На старте, и почти всё время разработки, у нас не было одной вещи — сервера. Было доменное имя, бодрым темпом разрабатывался сайт, к проекту присоединился дизайнер, но сервер нам так выделить не могли. Все показы сайта проходили на моём ноутбуке, не давая возможности заказчику сесть вечером с кружкой кофе, расслабиться и насладиться тем, что мы уже для него сделали. А также, отсутствие возможности показать нашу работу людям лишало нас получения обратной связи.


        И вот, можно сказать на днях, свершилось чудо — у нас появился сервер. И как следствие этого — эта статья.


        Читать дальше →
      • Исправлена серьезная ошибка в официальной документации по настройке SSL в web-ролях Microsoft Azure


          Хорошие новостиTM: есть небольшое, но важное развитие сюжета из этого поста, где много букв и долгая история, которая могла отвлечь часть целевой аудитории от необходимости проверить и исправить настройки. После вливания освежающих пул-запросов была обновлена официальная документация, показывающая, как правильно настраивать SSL в веб-ролях Microsoft Azure — один и два. Исправлена серьезная ошибка в примерах настроек.

          Если вы разрабатываете или сопровождаете облачный сервис с веб-ролью, самое время проверить, что настройки SSL указаны правильно и вас не настигнет в самый неподходящий момент волна недовольства пользователей, у которых КРАЙНЕ НЕОЖИДАННО без ясных причин перестало устанавливаться защищенное соединение с вашим сервисом.
          Читать дальше →
        • AdBlock похитил этот баннер, но баннеры не зубы — отрастут

          Подробнее
          Реклама
        • Вышел драйвер PDO MSSQL(pdo_sqlsrv) для PHP7

          image

          Небольшая заметка для тех, кто по роду деятельности работает с базой MSSQL через PDO,
          теперь данная возможность появилась и в PHP7

          Что такое PDO и зачем стоит им пользоваться можно прочитать в этой статье:

          habrahabr.ru/post/137664

          Скачать драйвер можно здесь:

          github.com/Azure/msphpsql/releases/tag/v4.0.2

          Установка сводится лишь к копированию соответствующей *.dll в папку PHP\ext и подключением в php.ini
          Это предварительная версия, но вполне рабочая, по крайней мере проблем за 2 дня использования замечено не было,
          работает отлично!
        • Деплой ASP.NET приложений при помощи символических ссылок

            Всем привет.
            Все мы немного нервничаем при установке нового релиза на прод. Существует много различных технологий позволяющих нам облегчить этот процесс и сделать его чуть менее нервозным. Одна из таких технологий, которую уже довольно давно облюбовали UNIX-инженеры, это использование символических ссылок, позволяющая свести к минимуму время накатки релиза и откатки на предыдущий релиз если «что-то пошло не так»(с). Этот механизм так же присутствует и в Windows, однако почему-то активно не используется. А зря. Данная статья призвана поправить это недоразумение и сделать процесс накатки релиза более приятным.


            Кадр из х/ф «Джентльмены удачи»
            Читать дальше →
          • Как не самое удачное поведение по умолчанию может годами маскировать неправильную работу

              МНОГО ДЕТАЛЕЙОчень удобно, когда благодаря правильно выбранным умолчаниям все работает само и «из коробки» и не нужно ничего настраивать. Эта история о том, что выбранные умолчания должны быть работоспособными всегда, в противном случае есть риск непредвиденного отказа после многих лет беспроблемной работы.

              Мы столкнулись с недокументированным поведением Windows Server в web-ролях Microsoft Azure, которое долгие годы маскировало неправильную настройку нашего сервиса Cloud OCR SDK, пока в один не самый прекрасный момент не привело к серьезным проблемам у отдельных пользователей.
              Читать дальше →
            • Установка Битрикс24 на IIS сервер с использованием MSSQL и AD

                На днях, встала задача протестировать этот корпоративный портал в коробочной версии. Потратив немало времени и сил, решил описать сей процесс, чтобы сэкономить кому-то лишние усилия.
                Начнем с того, что в своей организации у меня «экосистема» ПО построена на базе Windows систем и присутствует большое количество прикладных приложений, написанных под наши задачи и требовалось использование MSSQL для их интеграции. Посему, было решено выделить виртуальную машину с Windows Server для тестирования продукта.

                Почитав предлагаемые решения, решил попробовать три варианта:
                Читать дальше →
              Самое читаемое