Как стать автором
Поиск
Написать публикацию
Обновить
106.03

Серверная оптимизация *

Разгружаем сервер

Сначала показывать
Порог рейтинга
Уровень сложности

Gearman – фреймворк для распределения задач, введение

Время на прочтение6 мин
Количество просмотров37K


    В этой статье, мне бы хотелось рассмотреть один из необычных способов оптимизации приложения, а именно использование проекта Gearman для распределения задач. Gearman является фреймворком для построения таких систем. Примеров кода в статье нет, статья больше вводная, хоть и содержит в себе достаточно практической информации.
Читать дальше →

Apache 2.x под наблюдением или как узнать еще больше

Время на прочтение9 мин
Количество просмотров9.5K

Вступление



Продолжу цикл статей на тему «Apache 2.x под наблюдением. Мониторинг загрузки системы веб-сервером». Опять же под рассмотрением остается известный ранее[2] модуль Apache — mod_performance. На время написания этой статьи на сайте модуля[1] была выложена для доступа новая версия модуля — 0.2. Дальнейшее повествование в статье будет по принципу «Вопрос-Ответ».
Читать дальше →

Apache 2 под наблюдением. Мониторинг загрузки системы веб-сервером

Время на прочтение5 мин
Количество просмотров26K

Apache 2 под наблюдением



Вступление


Уже написано немало постов на просторах интернета, о мониторинге веб-сервера Apache. При вводе такой фразы, как «мониторинг нагрузки apache» в строке поиска Google, результаты поиска указывают на полезнейший модуль mod_status. А также о еще большей полезности этого модуля в сочетании с perl-расширениями. А если еще и немного пропатчить эти perl-расширения — то вообще супер система получается. Но настроив такую систему — системный администратор на этом, как правило, не останавливается, ему уже необходимо история нагрузки по серверу в целом, потом по каждому хосту, а далее и с точностью до скрипта. И чтоб потом сравнить можно было, а как раньше было, а как теперь нагрузка распределяется.
И вот здесь на помощь может прийти модуль для веб-сервера Apache — mod_performance.
Читать дальше →

Беглый обзор IBM Power Systems

Время на прочтение5 мин
Количество просмотров28K

Год назад, как участник академ. программы IBM, я прослушал курс IBM AIX 6 Jumpstart for UNIX Professionals в московском офисе IBM. Инструктор осветил большинство тем, чтобы опытный администратор Linux или UNIX сел за AIX и стал работать, а также рассказал основные положения линейки серверов IBM Power Systems. Как оказалось, это довольно интересные системы Enterprise уровня, которые предоставляют цельные бизнес системы, включающие в себя встроенные средства виртуализации, мониторинга, диагностики и т.д., которые поддерживаются и со стороны операционной системы.
Я не претендую на исчерпывающее описание архитектуры, статья — скорее экскурс в технологию, для общего развития.
Читать дальше →

Многопоточное приложение под Tornado

Время на прочтение5 мин
Количество просмотров38K


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

Защищаем VPS-сервер на базе Windows 2008 R2

Время на прочтение3 мин
Количество просмотров21K
Это вольный перевод моего поста из блога моей компании — о том, как я разгребал последствия хакерской атаки на наш сервер.

Если в двух словах — мой сервер взломали. Злоумышленник получил пароль к FTP-серверу и в течении почти 10-ти часов скачивал все, до чего дотянулись ручонки. То, как, собственно, был взломан сервер — отдельная история. Вкратце — хакер отправил фальшивый саппорт-тикет моему хостеру с просьбой помочь создать FTP-юзера. И хостер, в общем-то, повелся. Мало того, что создал юзера, да еще и дал ему админские права… Переписку хакера с хостером (мне удалось завладеть копией) я — если хабровчане захотят — выложу обязательно, это отдельная веселуха. А пока просто перечислю шаги, которые я предпринял, чтобы защитить свой сервер и ликвидировать последствия:
Читать дальше →

Самый популярный телефонный номер в мире: 214-748-3647

Время на прочтение1 мин
Количество просмотров33K
2147483647 (231-1), число Мерсенна — максимально возможное значение для 32-битного целого числа со знаком, то есть самое большое целое число, которое можно записать в 32 бита.

Какое отношение это имеет к телефонным номерам? Как ни странно, самое прямое. Оказывается, немалое число американских программистов в целях оптимизации разрабатывают системы, где телефонные номера на сервере хранятся в виде 32-битных целых чисел. Таким образом, максимально возможный телефонный номер в США равняется (214) 748-3647, где 214 — это код Далласа. При внесении в базу данных большего числа, сохраняется максимально возможный номер 2147483647.
Читать дальше →

Выпущена финальная версия Web Farm Framework 2

Время на прочтение1 мин
Количество просмотров4K
Скотт Гатри анонсировал у себя в блоге выпуск финальной версии Web Farm Framework Version 2.

Web Farm Framework – это дополнение к серверу IIS7, которое предназначено для быстрого создания веб-ферм, наполнения контентом, масштабирования, использования балансировщиков нагрузки и централизованного управления множеством серверов одновременно.

Во второй версии инструмента, согласно записи блога, добавлены следующие возможности:
  • инструмент Workflow Builder для определения и планирования задач, которые должны быть выполнены на всех серверах;
  • поддержка Windows Credential Store позволит сохранить полномочия администратора используемые для инспекции серверов в безопасном хранилище Windows Credential Store;
  • поддержка сторонних балансировщиков нагрузки через расширения Web Farm Framework позволит интегрировать Web Farm Framework с аппаратными балансироващиками вместо использования модуля IIS Application Request Routing;
  • улучшена поддержка операций с MSDeploy;
  • улучшена поддержка задачи синхронизации большого количества файлов.
Дополнительную информацию по Web Farm Framework можно получить по следующим ссылкам:Загрузить финальную версию Web Farm Framework 2 можно по следующим прямым ссылкам: для x86 и для x64. Либо можно воспользоваться установкой через Web Platform Installer.

Интеграция Visual Studio 2010 SP1 и IIS Express

Время на прочтение4 мин
Количество просмотров4.5K
Несколько дней назад Джейсон Зандер (Jason Zander) написал в своем блоге о выходе Visual Studio 2010 SP1 Beta (ссылки ниже, в конце статьи). Я рад поделиться с вами, друзья, новостями о том, что SP1 Beta добавил возможность интеграции с IIS Express в Visual Studio. Для этой интеграции вам потребуется скачать IIS Express отдельно, после того как вы установите SP1 Beta. После загрузки и установки IIS Express вы получите возможность создавать веб-проекты и веб-сайты, использующие IIS Express вместо Cassini (веб-сервера, который используется в Visual Studio по умолчанию). Для того, чтобы узнать побольше о разнице между IIS Express и полноценным IIS или Cassini, пожалуйста ознакомьтесь с записью блога Скотта Гатри, ссылка на которую приложена в конце статьи. Visual Studio 2010 предлагает два варианта веб-проектов: проект Web Application Project (WAP) и проект Website. Вы можете использовать оба типа проектов с IIS Express.

Читать дальше →

Новые материалы по IIS на русском языке (160+ статей)

Время на прочтение1 мин
Количество просмотров2K
image

Привет, хабрасообщество! Мы, как и обещали, продолжаем ударными темпами пополнять наши ресурсы полезной информацией и все на русском языке. Вчера мы опубликовали большой пакет статей на русском языке по ASP.Net (150 статей), а сегодня мы разместили 161 статью на русском языке в Техническом центр по IIS. В центре вы найдете материалы по следующим темам:

Читать дальше →

ARM кластер от Gumstix

Время на прочтение1 мин
Количество просмотров2.8K
Пока все только говорят о использовании ARM на серверах, Gumstix сделал платформу для ARM серверов.

Что это, Берримор?

6 способов убить Ваши сервера — познаем масштабируемость трудным путем

Время на прочтение5 мин
Количество просмотров18K
Узнать, как отмасштабировать Ваше приложение, не имея при этом никакого опыта, — это очень нелегко. Сейчас есть много сайтов, посвященных этим вопросам, но, к сожалению, не существует решения, которое подходит для всех случаев. Вам по-прежнему необходимо самому находить решения, которые подойдут под Ваши требования. Так же, как и мне.

Несколько лет назад ко мне пришел мой босс и сказал: «У нас есть новый проект для тебя. Это перенос сайта, который уже имеет 1 миллион посетителей в месяц. Тебенеобходимо его перенести и убедиться, что посещаемость может вырасти в будущем без всяких проблем.» Я уже был опытным программистом, но не имел никакого опыта в области масштабируемости. И мне пришлось познавать масштабируемость трудным путем.
Читать дальше →

GZip и nginx: влияние на производительность

Время на прочтение2 мин
Количество просмотров36K
Добрый день. Недавно меня заинтересовал модуль ngx_http_gzip_static_module, и я решил погонять мой домашний сервер немного с разными настройками сжатия nginx, чтобы убедится, действительно ли современные процессоры настолько быстрые, что можно ставить сжатие в 9-тку и не париться. В качестве подопытного файла выступала слитая главная страница lenta.ru – 170кб. Во время тестирования обнаружилась интересная особенность, которая изменила мои взгляды на выбор количества процессов nginx.
Читать дальше →

Ближайшие события

Представляем IIS Express

Время на прочтение4 мин
Количество просмотров69K
Сегодня разработчики создают и тестируют ASP.NET сайты и приложения, используя один из двух веб-серверов:
  • ASP.NET Development Server, который является встроенным в Visual Studio
  • IIS Web Server, который встроен в Windows.
Каждый обладает своими преимуществами и недостатками, многие разработчики не раз говорили нам – “Очень хотелось бы с легкостью использовать ASP.NET Development Server, но при этом иметь на борту всю мощь и возможности IIS”. Сегодня, я с радостью представляю вам бесплатную версию IIS Express, который объединяет в себе лучшие качества обоих веб-серверов и позволит еще проще разрабатывать и запускать ASP.NET сайты и приложения.

IIS Express будет работать с VS 2010 и Visual Web Developer 2010 Express, запускаться на Windows XP и выше, не требует прав администратора и внесения изменений в код приложения. Позволяет работать со всеми типами ASP.NET приложений и разрабатывать, используя всю мощь возможностей IIS 7.x.
Читать дальше →

Настраиваем в IIS авторизацию по клиентским сертификатам при помощи OpenSSL

Время на прочтение5 мин
Количество просмотров55K

Доброго времени суток, %username%!
Ранее я рассказывал о генерации сертификатов с эллиптическими кривыми.
Сегодня я расскажу о том как можно без особых усилий настроить в IIS авторизацию по обычным RSAшным клиентским сертификатам, сгенерировать сертификаты для сервера и клиента. И поможет мне в этом как всегда OpenSSL.
Для того чтобы все работало нам понадобятся минимум 3 сертификата:
  1. Корневой сертификат (Certificate Authority или CA). Им будем подписывать все остальные.
  2. Сертификат домена (сервера). Им IIS будет проверять клиентов. И наоборот, клиенты смогут проверить подлинность сервера.
  3. Сертификат(ы) клиента(ов)

image
Читать дальше →

Быстрый запуск блога на базе Orchard (в картинках)

Время на прочтение2 мин
Количество просмотров2K
image

Orchard – это движок блогов с открытым исходным кодом, который разрабатывается фондом CodePlex.org при поддержке Microsoft. Orchard основан на ASP.NET MVC 2 и на данный момент использует .NET 3.5.

Orchard развивается быстрыми темпами и на сегодня поддерживает следующие функции:
  • заведение нескольких блогов
  • многопользовательский режим
  • создание дополнительных страниц
  • админка с редактированием основных функций
  • темы
  • поддержка XML-RPC, постинг в блоги через Live Writer или другое ПО
В этой заметке я расскажу как развернуть блог на базе Orchard самыми минимальными усилиями. Поможет нам в этом Web Platform Installer.

Для успешной установки Orchard вам надо иметь IIS-сервер (в статье рассмотрен IIS 7.5) и установленный .NET Framework 3.5, плюс для упрощения установки мы будем использовать Web Platform Installer 2.0, который интегрируется в панель администрирования IIS.
Читать дальше →

64 vs 32 — в чем выигрыш?

Время на прочтение1 мин
Количество просмотров49K
При переезде с 32-битного (на Core2Quad) Ubuntu на 64-битный (на Athlon 64 X2) Debian оказалось, что все процессы, будь-то PHP или старый добрый Apache2, стали потреблять вдвое больше памяти. Знающие люди подсказали то, о чем сразу не подумал сам — рост потребления памяти обусловлен вдвое большей длиной указателей.

Совершенно справедливо напрашивается вопрос — в чем тогда выигрыш для простого сервера? Было 2Гб памяти на 32-битах, стало 4Гб на 64-битах, при этом сhild-процессов Apache2 в памяти может жить примерно одинаковое количество, потому как на старом сервере один процесс занимал 20Мб, а на новом — все 50Мб.

Главный по Windows Server

Время на прочтение1 мин
Количество просмотров1.6K
Парни, через пару дней у меня будет редкая возможность встретиться лицом к лицу с Джастином Грэмом (Justin Graham), старшим техническим менеджером по продуктам Windows Server в Microsoft. Подозреваю, что этот товарищ может рассказать очень многое, но только если ему задать правильные вопросы. И вот беда: сам я в серверных технологиях с точки зрения опытного пользователя мало чего понимаю и посему правильных вопросов у меня нет.

Так что буду очень благодарен за любые более-менее интересные вопросы касательно серверных технологий Microsoft вообще и Windows Server в частности.

Ну а сразу после интервью обязательно опубликую ответы.

Сервер на стероидах: FreeBSD, nginx, MySQL, PostgreSQL, PHP и многое другое

Время на прочтение16 мин
Количество просмотров40K
Нравится мне эта картинка, у меня, вот никогда такие красивые графики в какти не получались =(

Введение


С момента написания мной предыдущей статьи по оптимизации этой связки прошло довольно много времени. Тот многострадальный Pentium 4 c 512Мб памяти, обслуживающий одновременно до тысячи человек на форуме и до 150,000 пиров на трекере уже давно покоится на какой-нить немецкой, свалке, а клуб сменил уже не один сервер. Всё сказанное в ней всё ещё остаётся актуальным, однако есть вещи которые стоит добавить.
Статья большая, так что будет поделена на логические блоки:

0. Зачем вообще что-то оптимизировать?
  
1. Оптимизация ОС (FreeBSD)
  1.1 Переход на 7.х 
  1.2 Переход на 7.2
  1.3 Переход на amd64
  1.4 Разгрузка сетевой подсистемы
  1.5 FreeBSD и большое кол-во файлов
  1.6 Softupdates, gjournal и mount options
  
2. Оптимизация фронтенда (nginx)
  2.1 Accept Filters
  2.2 Кеширование
  2.3 AIO
  
3. Оптимизация бэкенда
  3.1 APC
  3.1.1 APC locking
  3.1.2 APC hints
  3.1.3 APC fragmentation
  3.2 PHP 5.3
  
4. Оптимизация базы данных
  4.1 MySQL 
  4.1.1 Переход на 5.1
  4.1.2 Переход на InnoDB
  4.1.3 Встроеный кеш MySQL - Query Cache
  4.1.4 Индексы
  
4.2 PostgreSQL
  4.2.1 Индексы
  4.2.2 pgBouncer и другие.
  4.2.3 pgFouine
  
4.3 Разгрузка базы данных
  4.3.1 SphinxQL
  4.3.2 Не-RDBMS хранилище
  4.4 Кодировки
  4.5 Асинхронность
  
Приложение. Мелочи.
  1. SSHGuard или альтернатива.
  2. xtrabackup
  3. Перенос почты на другой хост
  4. Интеграция со сторонним ПО
  5. Мониторинг
  
 6. Минусы оптимизации

Кому что-нибудь из этого списка интересно, жмём сюда...

unserialize vs include

Время на прочтение1 мин
Количество просмотров481
Для оптимизации движка решил проверить что будет быстрей работать: unserialize + file_get_contents или подключать сгенерированный php файл.
Cериализированый масив занимает 10кб.
Тестирование проводилось для unserialize, подключения файла и получения данных с базы mysql
Читать дальше →

Вклад авторов