Недавно мы перевели Zabbix на работу с БД PostgreSQL. Вместе с переездом на сервер с SSD это дало существенный прирост скорости работы. Также решили проблему с дублирующими хостами в базе данных, bug request. Здесь статья могла бы закончиться, но мы заметили, что Zabbix использует много дискового пространства, поэтому ниже я расскажу, как это вышло. И как мы с этим разобрались.
Рубрика «производительность» - 17
Сaжаем на диету индексы PostgreSQL для Zabbix
2016-10-19 в 5:53, admin, рубрики: postgresql, zabbix, Администрирование баз данных, Блог компании centos-admin.ru, производительность, Серверная оптимизация, Серверное администрированиеDellEMC Unity 400F: небольшое тестирование
2016-10-14 в 1:31, admin, рубрики: cache, dell, DellEMC, EMC, Fast Cache, performance, SAN, storage array, testing, unity, Unity 400F, VNX, VNX2, VNXe, VNXe2, производительность, системное администрирование, СХД, тестирование, хранение данных, хранилища данныхВ начале мая 2016 года, еще до окончания объединения с Dell, компания EMC объявила о выходе нового поколения массивов среднего уровня под именем Unity. В сентябре 2016 года к нам привезли демо-массив Unty 400F в конфигурации с 10 SSD дисками на 1.6TB каждый. В чем различие между моделями с индексом F и без оного можете почитать по данной ссылке в блоге Дениса Серова. Так как перед передачей демо дальше заказчику возник временной лаг, то было принято решение погонять массив тем же самым тестом, которым ранее уже нагружались VNXe3200 и VNX5400. Что бы посмотреть хотя бы на «синтетике» так ли хорош Unity по сравнению с предыдущими поколениями массивов EMC, как это расписывает вендор. Тем более что, судя по презентациям вендора, Unity 400 является прямой заменой VNX5400.
А DellEMC утверждает, что новое поколение по крайней мере в 3 раза производительнее, чем VNX2.
Если интересно, что из всего этого вышло, то…
Читать полностью »
Оптимизация кода: память
2016-10-10 в 15:05, admin, рубрики: C, c++, высокая производительность, компилятор оптимизация, Компиляторы, оптимизация программ, программирование микроконтроллеров, производительность, процессор, язык cБольшинство программистов представляют вычислительную систему как процессор, который выполняет инструкции, и память, которая хранит инструкции и данные для процессора. В этой простой модели память представляется линейным массивом байтов и процессор может обратиться к любому месту в памяти за константное время. Хотя это эффективная модель для большинства ситуаций, она не отражает того, как в действительности работают современные системы.
В действительности система памяти образует иерархию устройств хранения с разными ёмкостями, стоимостью и временем доступа. Регистры процессора хранят наиболее часто используемые данные. Маленькие быстрые кэш-памяти, расположенные близко к процессору, служат буферными зонами, которые хранят маленькую часть дынных, расположеных в относительно медленной оперативной памяти. Оперативная память служит буфером для медленных локальных дисков. А локальные диски служат буфером для данных с удалённых машин, связанных сетью.
Иерархия памяти работает, потому что хорошо написанные программы имеют тенденцию обращаться к хранилищу на каком-то конкретном уровне более часто, чем к хранилищу на более низком уровне. Так что хранилище на более низком уровне может быть медленнее, больше и дешевле. В итоге мы получаем большой объём памяти, который имеет стоимость хранилища в самом низу иерархии, но доставляет данные программе со скоростью быстрого хранилища в самом верху иерархии.
Читать полностью »
Двенадцать полезных Chrome DevTools Tips
2016-10-03 в 8:36, admin, рубрики: chrome devtools, front-end разработка, Google Chrome, javascript, Блог компании Инфопульс Украина, браузеры, производительность, Разработка веб-сайтовВ данной статье мы рассмотрим некоторые функции инструментов разработчика Chrome. Конкретно я использую Chrome Canary и вам советую. И не потому, что это отсылка на маленьких милых птиц, которые пожертвовали своими жизнями чтобы мы могли добывать свежий уголь.
Некоторые из DevTools функций вы возможно не знали. Я буду очень счастлив, если хотя бы одну из них вы найдете для себя полезной.
(В статье ниже присутствуют анимированные гифги, которые начинают раздражать после первого цикла. Поэтому я советую открыть dev tools и удалить DOM ноды, которые отвечают за изображения.)
Итак, поехали:
Копируем переменную в буфер обмена
Об этой возможности я узнал из комментариев, и считаю ее достаточно полезной чтобы быть описанной в начале. Иногда бывает нужно скопировать содержимое переменной в буфер обмена. Например html код или json объект. Для этого можно использовать copy функцию.
copy (someVariable)
Теперь текстовое представление переменной скопировано в буфер обмена.
Читать полностью »
Двойная скорость и половина памяти: оптимизация PHP 7
2016-09-28 в 13:10, admin, рубрики: intel xeon, php, PHP 7, Блог компании Intel, высокая производительность, оптимизация, производительность, разработка, Разработка веб-сайтовКлюч к высокой производительности приложений – оптимизация. При этом, чем ниже уровень, на котором код подстраивают под особенности аппаратного обеспечения – тем большего можно добиться. А ещё более впечатляющих результатов можно достичь тогда, когда при проектировании аппаратного обеспечения учитываются особенности кода. Сегодня мы расскажем о том, как идёт работа над ускорением PHP 7, которую совместно, практически непрерывно, ведут Intel и сообщество PHP-разработчиков.
Оптимизация кода: процессор
2016-09-12 в 15:32, admin, рубрики: C, c++, высокая производительность, компилятор оптимизация, Компиляторы, оптимизация программ, программирование микроконтроллеров, производительность, процессор, язык cВсе программы должны быть корректными, но некоторые программы должны быть быстрыми. Если программа обрабатывает видео-фреймы или сетевые пакеты в реальном времени, производительность является ключевым фактором. Недостаточно использовать эффективные алгоритмы и структуры данных. Нужно писать такой код, который компилятор легко оптимизирует и транслирует в быстрый исполняемый код.
В этой статье мы рассмотрим базовые техники оптимизации кода, которые могут увеличить производительность вашей программы во много раз. Мы также коснёмся устройства процессора. Понимание как работает процессор необходимо для написания эффективных программ.
Читать полностью »
Windows Server 2012, 2008 и 2003: тесты доступной производительности систем
2016-08-29 в 15:15, admin, рубрики: hyper-v, vds, vps, Windows Server, Блог компании UltraVDS, виртуализация, выбор ос, производительность, Серверная оптимизация, Серверное администрирование, тест производительности, хостингВ понедельник 29 августа по многочисленным просьбам наших клиентов мы добавили возможность выбора устаревших операционных систем для установки на виртуальные сервера UltraVDS. Причины, по которым возникает интерес к операционным системам прошлых поколений совершенно различны: сила привычки, специфические требования разработчика программного обеспечения или даже меньшая потребляемость ресурсов.
Причина выбрать ОС, которая потребляет меньше ресурсов виртуального сервера вполне понятна: не очень приятно платить за то, чтобы «кормить» современную операционную систему при том, что её расширенный функционал не используется.
В данной статье мы решили рассмотреть, сколько же можно получить дополнительных ресурсов (и можно ли вообще) если установить устаревшую ОС на арендуемый сервер.
В тесте участвовали 64-битные операционные системы:
- Windows Server 2012 R2
- Windows Server 2008 R2 SP1
- Windows Server 2003 R2 SP2
Супермедленный и супербыстрый бенчмарк
2016-08-07 в 8:24, admin, рубрики: java, jit-компиляция, быстродействие, Программирование, производительность, метки: бенчмаркВ недавней статье про производительность Java разгорелась дискуссия на тему измерения производительности. Глядя на неё, с грустью приходится сознавать, что многие люди до сих пор не понимают, насколько сложно правильно измерить время выполнения того или иного кода. Кроме того, люди вообще не привыкли, что один и тот же код в разных условиях может выполняться существенно разное время. К примеру, вот одно из мнений:
Если мне надо узнать, "какой язык быстрее для меня на моей задаче", то я прогоню самый примитивный бенчмарк в мире. Если разница будет существенной (скажем, на порядок) — то скорее всего и на пользовательской машине все будет примерно также.
К сожалению, самый примитивный бенчмарк в мире — это как правило неправильно написанный бенчмарк. И не следует надеяться, что неправильный бенчмарк измерит результат хотя бы с точностью до порядка. Он может измерить что-нибудь абсолютно другое, что будет совершенно отличаться от реальной производительности программы с аналогичным кодом. Давайте рассмотрим пример.
51 инструмент для APM и мониторинга серверов
2016-06-29 в 10:00, admin, рубрики: Блог компании Администратор сети, производительность, Серверная оптимизация, Серверное администрирование, системное администрирование, управление производительностью
После создания веб- или мобильного приложения начинается не менее интересный этап: нужно арендовать или приобрести серверы, развернуть на них бэкенд и наблюдать, как твой продукт пользуется бешеной популярностью у пользователей. А чтобы всё шло гладко, необходимо мониторить работу серверов и приложений, контролируя их производительность и устраняя намёки на проблемы. А чтобы не терять время на поиски подходящих инструментов для мониторинга и управления, предлагаем вам — сисадминам и разработчикам — воспользоваться этой подборкой.
Читать полностью »
Язык Go, микросервисы и DevOps – хорошая компания?
2016-06-24 в 12:18, admin, рубрики: docker, Go, java, jvm, архитектура, Блог компании Издательский дом «Питер», микросервисы, ооп, Проектирование и рефакторинг, производительность, Профессиональная литератураПривет!
Напоминаем, что все желающие по-прежнему могут приобрести отличную книгу Сэма Ньюмена "Создание микросервисов". Поскольку наши ожидания эта тема более чем оправдала, мы продолжаем искать связанную с ней литературу и не так давно обратили внимание на книгу о программировании микросервисов на языке Go
Интересную статью с обоснованием этого подхода мы нашли в блоге Agile Maverick, и ее перевод размещаем под катом.
Приятного чтения!