Pull to refresh

GOдный контент: 4 поток курса «Golang для инженеров» от Слёрма

Reading time 2 min
Views 568
Southbridge corporate blog

10 октября мы выходим на старт с новым потоком курса по Golang для инженеров с нуля. И это настолько GOдный контент, что мы делаем уже 4 поток.

В этот раз еще больше DevOps-инженеров научатся применять Golang в работе для автоматизации процессов разработки, ускорения программирования и повышения уровня администрирования.

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

Читать далее
Total votes 6: ↑5 and ↓1 +4
Comments 0

Прокачаться в асинхронном программировании на Python за 6 недель

Reading time 1 min
Views 1.1K
Southbridge corporate blog

Через два дня стартует курс по асинхронному программированию на Python от нашего партнёра KTS. Его можно пройти за полтора месяца, если заниматься 8–16 часов в неделю.

Этот курс — маст хев для тех, кто хочет прокачать харды и стать специалистом, который не боится сложных задач. Асинхронное программирование используется для высоко­нагруженных проектов и микросервисов, его спрашивают на собеседованиях в технологически развитых компаниях.

Читать далее
Total votes 11: ↑9 and ↓2 +7
Comments 0

Как выстроить техстратегию: узнайте от СТО ВКонтакте на HighLoad++

Reading time 2 min
Views 676
VK corporate blog High performance *IT Infrastructure *Conferences

«Архитектура не нужна, если нет стратегии» — почему так, расскажет технический директор ВКонтакте Александр Тоболь на открытии конференции HighLoad++ 24 ноября. Смотрите трансляцию выступления: будет полезная теория по стратегированию, а также подходы и кейсы из реальной практики СТО высоконагруженного проекта.

Узнать больше
Total votes 6: ↑6 and ↓0 +6
Comments 0

3-я встреча Moscow MUG: MySQL и memcached

Reading time 1 min
Views 866
MySQL *
1-го ноября, в 19-00 в аудитории 116 здания ГУ-ВШЭ на Мясницкой, 20 состоится очередная встреча Moscow MySQL User Group. В качестве ведущего выступит Михаил Монашёв.

Михаил расскажет, как он с коллегами использует MySQL с мемкешедом в проекте beon.ru.

Если Вы никогда ранее не работали с мемкешедом, то узнаете что это за зверь и как с его помощью ускорить работу с MySQL-ем.

Если уже используете его в своих проектах, то возможно узнаете, как это можно делать оптимальнее.

Встреча проводится при поддержке клуба «Бизнес в стиле .RU» и для участия в ней необходимо обязательно зарегистрироваться по адресу styleru.net/register, чтобы попасть в здание ГУ-ВШЭ.
Total votes 4: ↑3 and ↓1 +2
Comments 2

Горизонтальное масштабирование PostgreSQL с помощью PL/Proxy.

Reading time 9 min
Views 26K
PostgreSQL *
Очень тяжело начать писать статью. Т.е очень тяжело придумать вступительное слово. Хочется рассказать обо всём и сразу :) Но нет. Будем последовательны.
Начну с того что совсем недавно проходил Highload++ 2008 на котором мне удалось побывать.
Скажу сразу — мероприятие было проведено по высшему клаcсу, докладов было много и все были очень интересными.
Одной из самых запомнившихся презентаций была лекция Аско Ойя об инфраструктуре серверов баз данных в Skype. Лекция в большей степени касалась различных средств с помощью которых достигается такая производительность серверов.
По словам Аско, база данных Skype выдержит даже если все жители Земли захотят подключится к скайп в один момент.

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

UPD: Как правильно заметил хабраюзер descentspb в статье присутствует досаднейшая ошибка. В следствие своей невнимательности я подумал что PgBouncer надо устанавливать между прокси и клиентом. Но, как оказалось, та проблема которую я решал с помощью PgBouncer не решится если установить его именно так. Правильнее надо устанавливать боунсер между нодами и прокси. Мало того, именно так и рекомендуется делать в оффициальном мануале на сайте PL/Proxy.
В любом случае использование PgBouncer так как указано на моей схеме также даст прирост производительности. (Разгрузит Proxy).


Читать дальше →
Total votes 52: ↑49 and ↓3 +46
Comments 46

Realplexor: производительный Comet-сервер с API для PHP и Javascript (realtime)

Reading time 5 min
Views 20K
High performance *
Dklab Realplexor — это Comet-сервер, позволяющий держать одновремено сотни тысяч долгоживущих открытых HTTP-соединений с браузерами пользователей. JavaScript-код, запущенный в браузере, подписывается на один или несколько каналов Realplexor-а и вешает обработчик на поступление данных. Сервер может в любой момент записать сообщение в один из таких каналов, и оно будет моментально передано всем подписчикам (хоть одному, хоть тысяче), в режиме реального времени и с минимальной нагрузкой для сервера.

Хотя идейным вдохновителем Realplexor-а был предыдущий проект, dklab_multiplexor, код Realplexor-а не имеет с ним практически ничего общего. Поэтому я и решил сменить название. Несопоставимы также возможности продуктов (см. ниже), да и размер кода увеличился в 7 раз.

Realtime-направление сейчас довольно активно развивается на Западе, и в нем особенно выделяется продукт Tornado — событийно-ориентированный веб-сервер на языке Python. Правда, Tornado — это не столько Comet-сервер, сколько инструмент, с помощью которого можно запрограммировать «в том числе» и Comet-сервер. Ключевые слова: Comet, Push Server, Long polling, JavaScript, XMLHttpRequest.

Главные преимущества Realplexor-а:
  • простота использования: наличие API для JavaScript, API для PHP (в будущем — и для других языков);
  • простота конфигурирования;
  • широкий функционал (либо отстутствующий, либо недоступный напрямую в аналогах).

Лучше один раз увидеть...


Я сделал отдельную онлайн-песочницу, чтобы продемонстрировать функционал нового Realplexor-а и то, для чего вообще нужны Comet-серверы (кстати, это физически тот же самый демон Realplexor-а, что использует мой новый стартап РуТвит). Песочница реализует что-то типа многоканального чата: зайдя, вы получите как будто бы 2 независимых «браузера», запущенных на разных компьютерах.
  • Верхний «браузер» отображает каналы — в них моментально появляются новые сообщения, как только кто-то их туда отправляет на стороне сервера. Конечно же, эту страницу могут просматривать одновременно сотни тысяч пользователей, и они все будут видеть одно и то же (реализовано с использованием Realplexor JavaScript API). Можно «на лету» добавлять новые каналы (подписка) или скрывать уже имеющиеся (отписка).
  • Нижний браузер содержит формы, позволяющие добавлять сообщение в произвольный канал, указав его имя. Форма AJAX-ом отправляется на сервер, и уже там PHP-скрипт записывает в Realplexor полученный текст через PHP API. (И да, так можно чатиться.)
По умолчанию на странице открыто 3 канала с именами Alpha, Beta и RuTvit. Но, конечно, вы можете закрыть эти каналы и открыть новые. Вот, например, страница с единственным открытым каналом по имени Habrahabr: http://rutvit.ru/realplexor/demo?ids=Habrahabr.



Песочница демонстрирует следующие функции Realplexor-а:
Читать дальше →
Total votes 99: ↑92 and ↓7 +85
Comments 141

Конференция для разработчиков в Оренбурге

Reading time 1 min
Views 616
Self Promo

Программа конференции


  1. Открытие конференции. Борис Вольфсон (руководитель отдела веб-разработки Softline в г. Оренбург), Ларьков Сергей (руководитель представительства Softline в г. Оренбурге) — 15 минут
  2. Scrum — гибкий фреймворк для управления проектами. Вольфсон Борис (руководитель отдела веб-разработки Softline в г. Оренбург) — 1 час
  3. Облачные вычисления: Windows Azure. Калдузов Алексей (старший разработчик) — 1 час
  4. Перерыв — 15 минут
  5. Современные методы тестирования программного обеспечения. Обложихин Михаил (тестировщик) — 1 час
  6. Архитектура высоконагруженных проектов. Видинеев Юрий (системный администратор) — 1 час
Читать дальше →
Total votes 29: ↑22 and ↓7 +15
Comments 17

Повышение производительности за счет блочного кеширования

Reading time 5 min
Views 5.5K
High performance *
Тема блочного кеширования и ssi не раз проскакивала на Хабре. Ниже я представлю еще одну реализацию, использующего блочное кеширование, а также исходники фреймворка, использующего эти принципы, которые можно найти тут. А как это работает — прочитать ниже.
схема кеширования блоками
Читать дальше →
Total votes 56: ↑49 and ↓7 +42
Comments 60

Видео с пользовательской конференции по Sphinx (~8часов)

Reading time 1 min
Views 978
High performance *
Поскольку новость не пробежала на Хабре, но однозначно (с) будет интересна многим:

«Видео с пользовательской конференции по Sphinx (~8часов)
http://devconf.tv/user/sphinx».
Total votes 26: ↑23 and ↓3 +20
Comments 9

Быстрый автокомплит с использованием libscgi

Reading time 3 min
Views 1.5K
Website development *
Недавно была опубликована статья "libscgi — эффективное решение для простых и быстрых скриптов". Хотелось бы продолжить ранее представленую тему с более практической стороны. Как уже догадались из название — речь пойдет об скрипте автокомпита.

Пользователей, и меня в частности, всегда разражали эти уж медленные автокомплиты. Бывает наберешь уже почти все слово, как появляется выпадающая менюшка. Понятно, что JavaScript сам по себе медленный. Но если еще автокомплит будет тормозить на стороне сервера, то вообще как-то кисло получается. Выход есть, если на серверной части использовать, что-то более быстрое, как вариант можно использовать бинарный скрипт с использованием libscgi. Исходники тут. Чуть ниже подробности.
Читать дальше →
Total votes 14: ↑8 and ↓6 +2
Comments 11

HandlerSocket на AddConf Санкт-Петербург 29-30 апреля

Reading time 1 min
Views 980
MySQL *
На AddConf будет мой доклад «Ускоряем MySQL в десятки раз с использованием HandlerSocket».

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

А так же будет обозрение и результаты использования совместно с технологией sphinx и в качестве модуля nginx и обзор аналогичной технологии innoDb-memcache.

Хочется услышать пожелания к материалам доклада (что добавить а что наф. не нужно), а так же приглашаю его прослушать в живую.

Презентация

PS. Графика при конвертации немного сбилась. В оригинале этого нет.

Промокод на 5% скидку «Александр Календарев — читаю» .

ссылки по теме:
Первый опыт работы с Handler Socket & php_handlersocket
Некоторые тонкости Update & Insert в Handler Socket
nginx модуль
Total votes 24: ↑22 and ↓2 +20
Comments 8

Основные тезисы конференции HighLoad++ 2011

Reading time 6 min
Views 4.1K
Self Promo
imageВ октябре 2011 года в Москве проходила ежегодная конференция разработчиков высоконагруженных проектов HighLoad++.
Решил поделиться с читателями основными тезисами с конференции. Поскольку вся информация открыта и доступна на странице конференции, решил что собрать все тезисы вместе будет не такой уж и плохой затеей. Сразу отмечу, что в отчёте не содержится детальной информации о каждом докладе — затронуты лишь ключевые моменты.
Итак, о чём говорилось на HighLoad++ 2011.
Читать дальше →
Total votes 32: ↑30 and ↓2 +28
Comments 2

Как я делал самый популярный сайт о выборах

Reading time 10 min
Views 15K
Website development *MODX *
Sandbox
Статистика President2012.ru Друзья, я хочу вам рассказать историю развития проекта president2012.ru. Сайт является лидером по тематике выборов президента России, за 3 месяца его посетило около 2 млн. человек, в пике имел до 20 тыс. посетителей онлайн и более 1 млн. хитов в сутки, задействовано было 3 сервера облака.

Интересных моментов в процессе работы над проектом набралось столько, что держать в себе эти знания я не могу, и хочу поделится с вами. Я понимаю, что многое, о чем я сейчас собираюсь рассказать, уже описано качественнее в специализированных разделах, и ничего нового я не открою. Моя задача скорее в том, чтобы через отдельные нюансы передать ту атмосферу, в которой проходила работа над проектом. А так же в миллионный раз с помощью success story показать таким же как я людям, что всё возможно и всё в их руках.

Кому это может быть интересно? Всем, кто так или иначе занимается созданием тематичных веб-сайтов и рассчитывает работать с высоконагруженными проектами.
Читать дальше →
Total votes 274: ↑253 and ↓21 +232
Comments 214

Отладка сложных веб-приложений — эффективная багодробилка на production-серверах

Reading time 12 min
Views 26K
Битрикс24 corporate blog Website development *
Всем привет!

Сегодня расскажу, как на боевых серверах во время нагрузки, в пыли и грязи, эффективно отлавливать узкие места в производительности больших веб-приложений на PHP, а также искать и устранять «нестандартные» ошибки. Многие из описанных техник мы с успехом применяем на нашем облачном сервисе «Битрикс24».
Информация, надеюсь, пригодится системным администраторам и разработчикам, обслуживающим сложные веб-проекты, а также менеджерам, которые хотят выстроить эффективный и быстрый процесс поиска и устранения узких мест и ошибок проектов на PHP.

Читать дальше →
Total votes 109: ↑91 and ↓18 +73
Comments 30

DEV {web} — конференция о Highload веб-разработке

Reading time 1 min
Views 5.9K
e-legion corporate blog Website development *PHP *
13 октября в Санкт-Петербурге пройдет конференция о веб-разработке сложных высоконагруженных проектов — DEV {web}.

image

Если вам интересно как правильно использовать в проектах с многомиллионной посещаемостью Java, PHP, MySQL, Postgres, что делать для балансировки нагрузки и как правильно кэшировать и работать с сессиями пользователей — регистрируйтесь и приходите!
Total votes 33: ↑29 and ↓4 +25
Comments 14

Силовые тренировки: раскатываем HTTPS под высокими нагрузками

Reading time 6 min
Views 16K
VK corporate blog
В сентябре Почта Mail.Ru включила HTTPS-шифрование для всех пользователей.

Преимущества защищенного соединения очевидны всем разработчикам крупных интернет-проектов. Большинство современных web-серверов (nginx, Apache, etc) и браузеров поддерживают HTTPS. В то же время сайтов, на которых безопасный протокол включен всегда и по умолчанию, не так много. Почему это так? С какими трудностями мы столкнулись при поддержке HTTPS? Читайте под катом.
Читать дальше →
Total votes 49: ↑42 and ↓7 +35
Comments 33

2 апреля в Петербурге состоится High Performance Conference 4.0

Reading time 1 min
Views 5K
e-legion corporate blog High performance *
Впервые конференция по высоким нагрузкам пройдет Петербурге! 2 апреля в Holiday Inn «Московские Ворота» своим опытом поделятся представители из JetBrains, Microsoft, Jelastic и Badoo и Яндекс.Денег.

image

HPC 4.0 соберет программистов, тим-лидов и руководители IT-департаментов и компаний, которые смогут задать вопросы экспертам по высоким нагрузкам и обсудить собственные решения с коллегами.

После докладов состоится after-party с алкоголем и неформальным общением.

Программа мероприятия и акция для Хабрапользователей
Total votes 33: ↑28 and ↓5 +23
Comments 2

Бесплатный семинар «Построение отказоустойчивых систем и разработка крупных проектов»

Reading time 1 min
Views 6.9K
Битрикс24 corporate blog Website development *
Все мы, безусловно, мечтаем о том, что когда-нибудь наши проекты дорастут до масштабов Яндекса, Фейсбука, Гугла, будут работать на тысячах серверов, размещенных в десятках датацентров по всему миру, с аптаймом 99,99999%.

Так, конечно же, когда-нибудь будет. :) Но прежде, чем стать гуру системного администрирования и ассом веб-разработки, все равно нужно начать с азов. Для этого мы 20-го марта 2014 г. проводим в Москве бесплатный семинар «Построение отказоустойчивых систем и разработка крупных проектов».

Немного подробностей и ссылка на регистрацию под катом.

Читать дальше →
Total votes 11: ↑6 and ↓5 +1
Comments 3

Высоконагруженные системы: решение основных проблем

Reading time 7 min
Views 50K
Plarium corporate blog
Tutorial
Привет, Хабр!

Сегодня я хочу рассказать о некоторых решениях проблем, которые возникают во время использования высоконагруженных систем. Все, о чем пойдет речь в этом материале, проверено на собственном опыте: я – Social Games Server Team Lead в компании Plarium, которая занимается разработкой социальных, мобильных, браузерных игр.

Для начала немного статистики. Plarium занимается разработкой игр с 2009 года. На данный момент наши проекты запущены во всех наиболее популярных социальных сетях («Вконтакте», «Мой мир», «Одноклассники», Facebook), несколько игр интегрированы в крупные игровые порталы: games.mail.ru, Kabam. Отдельно существует браузерная и мобильная (iOS) версии стратегии «Правила войны». В базах числятся более 80 миллионов пользователей (5 игр, локализация на 7 языках, 3 миллиона уникальных игроков в день), в итоге все наши серверы получают в среднем около 6500 запросов в секунду и 561 миллион запросов в сутки.

В качестве аппаратной платформы на боевых серверах в основном используются два серверных CPU с 4 ядрами (x2 HT), 32-64 GB RAM, 1-2 TB HDD. Серверы работают на базе Windows Server 2008 R2. Контент раздается через CDN с пропускной способностью до 5 Gbps.
Разработка ведется под .NET Framework 4.5 на языке программирования C#.

Учитывая специфику нашей работы, необходимо не только обеспечить стабильное функционирование систем, но и гарантировать, что они смогут выдержать большой скачок нагрузки. Увы, многие популярные подходы и технологии не выдерживают проверку высокой нагрузкой и быстро становятся узким местом в системе. Поэтому, проанализировав множество проблем, мы нашли оптимальные для нас (как мне кажется) пути их решения. Я расскажу, какие технологии мы выбрали, от каких отказались, и объясню, почему.

Все самое интересное - под катом
Total votes 28: ↑23 and ↓5 +18
Comments 25

Система для большой науки

Reading time 4 min
Views 5.4K
Dell Technologies corporate blog High performance *
Мы уже неоднократно знакомили вас со своими разработками для научно-исследовательских центров американских университетов – мощными и производительными системами, благодаря которым современная наука получила возможность развиваться немного быстрее. Но проект, о котором пойдет речь в этом посте, пожалуй, можно назвать самым грандиозным детищем Dell.
Читать дальше →
Total votes 9: ↑8 and ↓1 +7
Comments 0