Здравствуйте, меня зовут Александр Зеленин и я веб-разработчик. Я расскажу, как сделать так, чтобы ваш сайт открывался быстро. Очень быстро.
Рубрика «Серверная оптимизация» - 27
Я хочу, чтобы сайты открывались мгновенно
2015-12-28 в 9:30, admin, рубрики: DNS, html, TTI, Веб-разработка, высокая производительность, ищу работу, Клиентская оптимизация, кэширование запросов, оптимизация сайта, с новым годом, Серверная оптимизация, скорость загрузки, скорость загрузки сайта, Совершенный кодПриглашаем на Tarantool meetup 28 января
2015-12-24 в 12:26, admin, рубрики: mail.ru, meetup, nosql, tarantool, Администрирование баз данных, Блог компании Mail.Ru Group, высокая производительность, Серверная оптимизация
28 января 2016 года в московском офисе Mail.Ru Group пройдёт вторая встреча Tarantool meetup. Если кто-то ещё не знает: Tarantool — это NoSQL In-Memory СУБД с открытым исходным кодом, создающаяся для обеспечения максимально возможной производительности. На втором митапе мы рассмотрим главные преимущества и особенности Tarantool, расскажем о своём опыте использования этого продукта и планах на будущее. В первую очередь эта встреча будет интересна разработчикам, Unix-сисадминам и прочим специалистам, так или иначе работающим с базами данных. Программу встречи смотрите под катом.
Читать полностью »
Как сэкономить миллион долларов с помощью Tarantool
2015-12-22 в 12:53, admin, рубрики: mail.ru, nosql, tarantool, Администрирование баз данных, Блог компании Mail.Ru Group, высокая производительность, Серверная оптимизация
Для чего используются базы данных, ведь есть старые добрые файлы? Чем они хуже базы данных или чем база данных лучше файлов? БД — более структурированное хранилище. Она позволяет делать транзакции, запросы и так далее. Самый простой случай: есть сервер с базой данных и несколько приложений, которые делают запросы к серверу. База данных отвечает, меняет что-то внутри себя, и всё хорошо ровно до того момента, пока нагрузка на неё не вырастает настолько, что база данных перестаёт справляться.
Если допустить, что это только нагрузка на чтение, то проблема решается репликацией. Вы можете ставить к базе данных столько реплик, сколько нужно, и все чтения пускать на реплику, а все записи — на мастер. Если же на базу данных идёт нагрузка на запись, то репликация эту проблему не решает, ведь запись должна осуществляться на все реплики. Таким образом, сколько бы вы их ни ставили, вы не уменьшите нагрузку на запись из расчёта на одну машину. Тут на помощь приходит шардинг.
Если база не держит нагрузку на запись, то шарды можно добавлять до бесконечности. Шард устроен сложнее, чем реплика, потому что нужно как-то распределить данные по таблицам или внутри таблицы, по хэшу, по range — есть множество разных вариантов. Таким образом, добавляя реплики и шарды, вы можете делить любую нагрузку на базу данных. Казалось бы, больше желать нечего, о чём дальше говорить?
Читать полностью »
Тестируем российскую серверную платформу E-Class от «Т-Платформы»
2015-12-21 в 5:58, admin, рубрики: e-class, IT-стандарты, stss, t-platforms, v210, Блог компании STSS, высокая производительность, импортозамещение, отечественная разработка, российская серверная платформа, Серверная оптимизация, т-платформы, Тестирование IT-систем, метки: stss, t-platforms, отечественная разработка, российская серверная платформа, т-платформы В предыдущей статье об отечественных производителях серверного оборудования я попытался раскрыть особенности всего цикла производства и сборки серверов. Результаты прошлого голосования показали, что Вы больше доверяете продукции A-брендов. Но, как известно, мало кто производит комплектующие самостоятельно — для этого есть уже проверенные мировые производители. А одним из основных отличий A-брендов, помимо сервиса, является разработка уникального дизайна корпуса, системной платы, дискретных контроллеров, написание собственного BIOS и FW.
В одном из проектов компании STSS по поставке серверного оборудования, я столкнулся с серверной платформой, спроектированной у нас, в России.
Эту статью я хочу посвятить как раз этой отечественной разработке от компании «Т-Платформы».
Серверная платформа E-Class основана на передовой системной плате V210 под процессоры Intel Xeon E5-2600V3.
Она разработана в России с перспективой переноса производства электронных плат на территорию РФ. Системная плата обеспечивает высокий уровень информационной безопасности благодаря возможности установки модулей доверенной загрузки в форм-факторе mPCIe, которые отвечают требованиям ФСТЭК и ФСБ для защиты информации, составляющей коммерческую или государственную тайну.
Как выбрать язык программирования?
2015-12-17 в 9:57, admin, рубрики: benchmark, Go, node.js, Rust, scala, Блог компании Mail.Ru Group, Веб-разработка, Программирование, Серверная оптимизация, Тестирование веб-сервисов
Именно таким вопросом задалась команда Почты Mail.Ru перед написанием очередного сервиса. Основная цель такого выбора — высокая эффективность процесса разработки в рамках выбранного языка/технологии. Что влияет на этот показатель?
- Производительность;
- Наличие средств отладки и профилирования;
- Большое сообщество, позволяющее быстро найти ответы на вопросы;
- Наличие стабильных библиотек и модулей, необходимых для разработки веб-приложений;
- Количество разработчиков на рынке;
- Возможность разработки в современных IDE;
- Порог вхождения в язык.
Кроме этого, разработчики приветствовали немногословность и выразительность языка. Лаконичность, безусловно, так же влияет на эффективность разработки, как отсутствие килограммовых гирь на вероятность успеха марафонца.
Читать полностью »
Пулы потоков: ускоряем NGINX в 9 и более раз
2015-06-19 в 11:32, admin, рубрики: nginx, бенчмарки, высокая производительность, высокие нагрузки, многопоточность, оптимизация, пулы потоков, Серверная оптимизация, Серверное администрирование, системное администрированиеКак известно, для обработки соединений NGINX использует асинхронный событийный подход. Вместо того, чтобы выделять на каждый запрос отдельный поток или процесс (как это делают серверы с традиционной архитектурой), NGINX мультиплексирует обработку множества соединений и запросов в одном рабочем процессе. Для этого применяются сокеты в неблокирующем режиме и такие эффективные методы работы с событиями, как epoll и kqueue.
За счет малого и постоянного количества полновесных потоков обработки (обычно по одному на ядро) достигается экономия памяти, а также ресурсов процессора на переключении контекстов. Все преимущества данного подхода вы можете хорошо наблюдать на примере самого NGINX, который способен обрабатывать миллионы запросов одновременно и хорошо масштабироваться.
Каждый процесс расходует память и каждое переключение между ними требует дополнительных циклов процессора, а также приводит к вымыванию L-кэшей
У медали есть и обратная сторона. Главной проблемой асинхронного подхода, а лучше даже сказать «врагом» — являются блокирующие операции. И, к сожалению, многие авторы сторонних модулей, не понимая принципов функционирования NGINX, пытаются выполнять блокирующие операции в своих модулях. Такие операции способны полностью убить производительность NGINX и их следует избегать любой ценой.
Но даже в текущей реализации NGINX не всегда возможно избежать блокировок. И для решения данной проблемы в NGINX версии 1.7.11 был представлен новый механизм «пулов потоков». Что это такое и как его применять разберем далее, а для начала познакомимся с нашим врагом в лицо.Читать полностью »
О бедной рекурсии замолвите слово, или всё, что вы не знали и не хотите о ней знать
2015-04-22 в 8:05, admin, рубрики: C, c++, python, Алгоритмы, и все-все-все, не дао, не затем их пишут, Не читайте теги, несчастная функция, постижение достижений, Программирование, прокрустова архитектура, рекурсия, Серверная оптимизация, Совершенный кодРекурсия: см. рекурсия.
Все программисты делятся на 112 категорий: кто не понимает рекурсию, кто уже понял, и кто научился ею пользоваться. В общем, гурилка из меня исключительно картонный, так что постигать Дао Рекурсии тебе, читатель, всё равно придётся самостоятельно, я лишь постараюсь выдать несколько волшебных пенделей в нужном направлении.
Прикладное программирование всегда занимается решением прикладных задач путем прикладывания усилий программиста для достижения результата в неидеальных условиях. Именно исходя из неидеальности этого мира и ограниченности ресурсов и складывается потребность в программистах: кому-то ведь надо помогать теоретикам упихать их стройную и красивую теорию в практику.
— Как она сложена?
— Превосходно! Только рука немного торчит из чемодана.
Именно пытаясь разместить стройную теорию алгоритма в жесткий рюкзак реальных ресурсов и приходится постоянно кроить по живому, перепаковывать, и вместо красивых и стройных определений Фибоначчи:
def fib(n):
if n<0: raise Exception("fib(n) defined for n>=0")
if n>1: return fib(n-1) + fib(n-2)
return n
приходится городить всевозможные грязные хаки, начиная от:
@memoized
def fib(n):
if n<0: raise Exception("fib(n) defined for n>=0")
if n>1: return fib(n-1) + fib(n-2)
return n
И заканчивая вообще:
def fib(n):
if n<0: raise Exception("fib(n) defined for n>=0")
n0 = 0
n1 = 1
for k in range(n):
n0, n1 = n1, n0+n1
return n0
Разбор всех заданий отборочной игры Yandex.Root
2015-04-10 в 9:05, admin, рубрики: linux, yandex.root, Блог компании Яндекс, Серверная оптимизация, Серверное администрирование, Сетевые технологии, системное администрирование, яндекс, метки: yandex.rootСегодня ночью завершилась первая игра отборочного тура Yandex.Root — олимпиады для Unix-инженеров и системных администраторов. В ней приняло участие 456 человек из 229 команд, 194 из которых выполнили хотя бы одно задание. Со всеми девятью справилось 38 команд.
Мы проводим Root её в четвёртый раз, но впервые решили опубликовать на Хабре разбор тасков. Задачи, которые мы даём на олимпиаде, сопоставимы с теми, что регулярно решают наши системные администраторы. В Яндексе почти каждый день что-то выкатывается и, когда что-то идёт не так, нужно оперативно распознать это и эффективно отреагировать.
Вообще, соревнования для сисадминов – намного более редкий жанр, чем конкурсы программистов, так что в некотором роде нам приходится здесь быть первопроходцами. Мы очень старались, чтобы задания получились интересными, а также такими, которые действительно проявляли бы в участниках качества, важные в реальной работе. Насколько это у нас получилось, судить вам.
Мы будем благодарны, если вы нам об этом расскажете и поделитесь своим именем, как сделать лучше. Кстати, если хотите, то можете и попробовать себя в реальной игре. Вторая часть первого тура пройдёт через четыре дня — во вторник 14 апреля, и на неё ещё можно зарегистрироваться.
Игра Shannon
Мы решили назвать все игры в память о людях, которые внесли вклад в современные технологии, которые используются в нашей работе. Эта посвящена Клоду Шеннону, инженеру и математику, который среди прочего подарил нам слово «бит». Кстати, сам сервис root.yandex.ru запущен на compute узлах private cloud Яндекса.
Читать полностью »
Серверы для бизнеса: энергоэффективность имеет значение
2015-04-02 в 11:46, admin, рубрики: Fujitsu, PRIMERGY, Блог компании Fujitsu, ит-инфраструктура, сервера, Серверная оптимизацияПривет! В этой публикации поговорим про новые модели серверов Fujitsu PRIMERGY, которые оптимизированы для получения максимальной энергоэффективности.
На сегодня Fujitsu обладает очень широким модельным рядом серверных систем и периодически совершенствует их за счет внедрения различных инновационных технологий. Это касается и самых массовых систем. Так, например, линейка двухпроцессорных серверов PRIMERGY была полностью обновлена в сентябре 2014 года за счет усовершенствований, внесенных с учетом пожеланий заказчиков.
Компания Fujitsu – один из ведущих производителей серверов. Как отмечают аналитики Gartner, по количеству поставок серверов на рынок EMEA по итогам четвертого квартала 2014 года она занимает четвертое место после HP, Dell и Lenovo с долей 5%. Стоит отметить, что Fujitsu обладает очень широким модельным рядом серверных систем и периодически совершенствует их за счет внедрения инновационных технологий. Это касается и самых массовых систем. Так, например, линейка двухпроцессорных серверов PRIMERGY была полностью обновлена в сентябре 2014 года за счет всесторонних усовершенствований, внесенных с учетом пожеланий заказчиков.
А в сентябре прошедшего года Fujitsu представила новые модели своей серверной линейки PRIMERGY, в которых используются процессоры Xeon семейства E5-2600 v3 и технология памяти DDR4. Чем же примечательны эти новые системы в ситуации, когда стандартизация узлов и компонентов серверных платформ делает продукты ведущих производителей столь похожими по дизайну и характеристикам? В каком направлении работает инженерная мысль японских системных архитекторов?
Облачные сервисы под высокой нагрузкой. Опыт Cackle
2015-04-08 в 13:03, admin, рубрики: Cackle, comments, e-commerce, highload, java, javascript, live chat, polls, reviews, Блог компании Cackle, Веб-разработка, виджет, комментарии, конверсия, микроразметка отзывов, нагрузка, облачные сервисы, онлайн консультант, опросы, отзывы, Серверная оптимизация, система отзывовВсем привет! Мы, в компании Cackle, занимаемся разработкой облачных SaaS-решений для сайтов с 2011 года. Наши продукты установлены более чем на 10 000 сайтах, каждый день мы обрабатываем в среднем 65 миллионов уникальных хитов. Полоса пропускания (bandwidth) в пики доходит до 780 мбит/сек, а БД в сутки принимает до 120 миллионов запросов на чтение, и до 300 тысяч запросов на запись. Такие нагрузки заставляют изобретать непростые решения, частью которых мы и хотим поделиться.
Читать полностью »