Рубрика «performance» - 5

image

Статей с подобным заголовком достаточно много, поэтому постараюсь избежать банальных тем. Надеюсь, что даже очень опытные разработчики найдут здесь что-то полезное для себя. В данной статье будут рассмотрены только простые механизмы и подходы к оптимизации, которые позволят применить их, затратив минимум усилий. И эти изменения не увеличат энтропию вашего кода. В статье не будет уделено внимание что и когда нужно оптимизировать и как искать проблемы производительности, эта статья скорее о подходе к написанию кода в целом.
Читать полностью »

Апгрейд для ленивых: как PostgreSQL 12 повышает производительность - 1

PostgreSQL 12, последняя версия «лучшей в мире реляционной базы данных с открытым исходным кодом», выходит через пару-тройку недель (если все пойдет по плану). Это соответствует обычному расписанию — новая версия с уймой новых возможностей выходит раз в год, и, честно говоря, это впечатляет. Поэтому я и стал активным членом сообщества PostgreSQL.

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

Но PostgreSQL 12 этим не ограничивается: с новыми возможностями и усовершенствованиями приложения будут работать лучше, а от вас всего-навсего требуется сделать апгрейд!

(Ну, может, еще индексы перестроить, но в этом релизе это не так страшно, как мы привыкли.)

Читать полностью »

Всем привет!

Я Павел Мурзаков, тимлид серверной команды Badoo. Мы обожаем PHP, вкладываемся в его развитие и развитие сообщества вокруг него. 21 сентября планируем провести третий Badoo PHP Meetup. Приглашаем спикеров и гостей!
21 сентября Badoo PHP Meetup #3: производительность - 1
В этот раз в качестве общей темы встречи выбрали производительность PHP-кода и PHP-бэкенда в целом. Для нас эта область важна, так как, с одной стороны, у нас большая инфраструктура на PHP, и вопрос производительности — это вопрос экономии денег.  С другой — нам важно предоставлять пользователям сервис высокого качества, поэтому бэкенд должен отвечать достаточно быстро, ведь от этого зависит активность пользователей и их впечатления от сервиса.

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

Регистрация по ссылке, начало в 12:00, гостей встречаем с 11:00. 
Читать полностью »

Анализ производительности ВМ в VMware vSphere. Часть 3: Storage - 1

Часть 1. Про CPU
Часть 2. Про Memory

Сегодня разберем метрики дисковой подсистемы в vSphere. Проблема со стораджем – самая частая причина медленной работы виртуальной машины. Если в случаях с CPU и RAM траблшутинг заканчивается на уровне гипервизора, то при проблемах с диском, возможно, придется разбираться с сетью передачи данных и СХД.

Тему буду разбирать на примере блочного доступа к СХД, хотя при файловом доступе счетчики примерно те же.
Читать полностью »

Что делать, если ваш запрос к базе выполняется недостаточно быстро? Как узнать, оптимально ли запрос использует вычислительные ресурсы или его можно ускорить? На последней конференции HighLoad++ в Москве я рассказал об интроспекции производительности запросов — и о том, что даёт СУБД ClickHouse, и о возможностях ОС, которые должны быть известны каждому.

Анализ производительности запросов в ClickHouse. Доклад Яндекса - 1

Каждый раз, когда я делаю запрос, меня волнует не только результат, но и то, что этот запрос делает. Например, он работает одну секунду. Много это или мало? Я всегда думаю: а почему не полсекунды? Потом что-нибудь оптимизирую, ускоряю, и он работает 10 мс. Обычно я доволен. Но все-таки я стараюсь в этом случае сделать недовольное выражение лица и спросить: «Почему не 5 мс?» Как можно выяснить, на что тратится время при обработке запроса? Можно ли его в принципе ускорить?

Читать полностью »

When you run queries in ClickHouse, you might notice that the profiler often shows the LZ_decompress_fast function near the top. What is going on? This question had us wondering how to choose the best compression algorithm.

ClickHouse stores data in compressed form. When running queries, ClickHouse tries to do as little as possible, in order to conserve CPU resources. In many cases, all the potentially time-consuming computations are already well optimized, plus the user wrote a well thought-out query. Then all that's left to do is to perform decompression.

How to speed up LZ4 decompression in ClickHouse? - 1

So why does LZ4 decompression becomes a bottleneck? LZ4 seems like an extremely light algorithm: the data decompression rate is usually from 1 to 3 GB/s per processor core, depending on the data. This is much faster than the typical disk subsystem. Moreover, we use all available CPU cores, and decompression scales linearly across all physical cores.
Читать полностью »

В предыдущей статье я описал процесс импорта продуктов в Magento 2 обычным способом — через модели и репозитории. Обычный способ отличается весьма низкой скоростью обработки данных. На моём ноутбуке выходило примерно один продукт в секунду. В данном продолжении я рассматриваю альтернативный способ импорта продукта — прямой записью в базу, в обход стандартных механизмов Magento 2 (модели, фабрики, репозитории). Последовательность шагов, обеспечивающих импорт продуктов, может быть адаптирована под любой язык программирования, способный работать с MySQL.

Disclaimer: В Magento есть готовый функционал по импорту данных и, скорее всего, вам его хватит. Однако если вам нужен более полный контроль за процессом импорта, не ограничивающийся подготовкой CSV-файла для того, что есть — добро пожаловать под кат.

image

Читать полностью »

Анализ производительности ВМ в VMware vSphere. Часть 2: Memory - 1

Часть 1. Про CPU

В этой статье поговорим про счетчики производительности оперативной памяти (RAM) в vSphere.
Вроде бы с памятью все более однозначно, чем с процессором: если на ВМ возникают проблемы с производительностью, их сложно не заметить. Зато если они появляются, справиться с ними гораздо сложнее. Но обо всем по порядку. Читать полностью »

Я занимаюсь алгоритмической торговлей в Райффайзенбанке. Это довольно специфичная область банковской сферы. Мы делаем торговую платформу, работающую с низкими и предсказуемыми задержками. Успех приложения зависит, в том числе, и от скорости работы приложения, поэтому нам приходится заниматься всем стеком, задействованным в торговле: приватными сетевыми каналами, специальным аппаратным обеспечением, настройками ОС и специальной JVM, и, конечно же, самим приложением. Мы не можем остановиться на оптимизации исключительно самого приложения — настройки ОС или сети имеют не меньшее значение. Это требует технической экспертизы и эрудиции, чтобы понять, как через весь стек проходят данные, и где может быть задержка.

Java это не только кровавый энтерпрайз, но и быстрые latency-sensitive приложения - 1

Читать полностью »

«Если суть работы программиста в автоматизации работы других людей, то почему моя работа так мало автоматизирована» — думал я, копируя в очередной раз всю необходимую в проекте обвязку для добавления новой сущности в БД. И решил избавиться от этой рутины по добавлению шаблонных классов, сделав заодно «хорошо» проекту, разгрузив БД от лишних операций чтения.
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js