Рубрика «тестирование производительности» - 2

Вступление

На эту тему написано уже немало статей. Однако я еще не видел статьи, в которой сравниваются все основные сортировки на большом числе тестов разного типа и размера. Кроме того, далеко не везде выложены реализации и описание набора тестов. Это приводит к тому, что могут возникнуть сомнения в правильности исследования. Однако цель моей работы состоит не только в том, чтобы определить, какие сортировки работают быстрее всего (в целом это и так известно). В первую очередь мне было интересно исследовать алгоритмы, оптимизировать их, чтобы они работали как можно быстрее. Работая над этим, мне удалось придумать эффективную формулу для сортировки Шелла.

Во многом статья посвящена тому, как написать все алгоритмы и протестировать их. Если говорить о самом программировании, то иногда могут возникнуть совершенно неожиданные трудности (во многом благодаря оптимизатору C++). Однако не менее трудно решить, какие именно тесты и в каких количествах нужно сделать. Коды всех алгоритмов, которые выложены в данной статье, написаны мной. Доступны и результаты запусков на всех тестах. Единственное, что я не могу показать — это сами тесты, поскольку они весят почти 140 ГБ. При малейшем подозрении я проверял и код, соответствующий тесту, и сам тест. Надеюсь, что статья Вам понравится.
Читать полностью »

СХД Infortrend — альтернатива А-брендам. Обзор и тестирование - 1Системы хранения данных все чаще используются в IT-инфраструктуре сегмента малого и среднего бизнеса. Рабочие места мигрируют в виртуальную среду, а для хранения данных уже не достаточно обычной «файловой помойки» в виде старого железа набитого дисками. Поэтому для многих небольших компаний рано или поздно встаёт вопрос выбора Enterprise СХД начального уровня. Задачи перед системой хранения становятся типовые: обеспечить необходимую производительность, отказоустойчивость и совместимость с существующей IT-инфраструктурой. Но, к сожалению, решающим фактором выбора является обоснованность стоимости решения.
У производителей первого эшелона есть подходящие продукты, отвечающие всем требованиям к функционалу и уровню сервиса. Но вот с совместимостью и стоимостью владения подобных решений есть определённые трудности. Поэтому данная статья посвящена альтернативе А-брендам — системе хранения данных Infortrend.
Infortrend — это представитель Тайваньских производителей с узкой специализацией на системы хранения данных. За более чем 20-летний период работы по проектированию и производству собственных СХД, Infortrend создал продукт, успешно конкурирующий с представителями крупных мировых брендов.
Читать полностью »

Первая российская материнская плата массового сегмента - 1Как мы уже писали, степень локализации отечественной серверной продукции массового сегмента выражена в большей степени в предоставлении различного рода услуг, нежели чем в производстве комплектующих. Комплектующие для серверов традиционно производятся в Китае, к какому бренду они не принадлежали бы. У одной российской компании была попытка создания полностью отечественной платформы, но продукт получился нишевой, так как платформа обладала характеристиками избыточными для классического применения серверов.
Но вот, в начале года мы получили образец серверной 2-процессорной материнской платы, разработанной и произведённой на территории России. Эта модель вызвала интерес в первую очередь из-за того, что по характеристикам и стоимости полностью подходила для массового применения. Обзору и тестированию первой российской материнской платы Rikor R-BD-E5R-V4-16.EA и посвящается эта статья.Читать полностью »

Новый Intel NUC 7-го поколения — обзор, сравнение, тестирование - 1Компактные мини-ПК на базе Intel NUC за последнее время нашли широкое применение в различных IT-областях. Производительные процессоры Intel Core i3/i5/i7 в сочетании с миниатюрным форм-фактором позволяют использовать такие устройства в качестве домашнего или офисного компьютера, клиентского терминала или специализированного мультимедиа-устройства. Например, наша компания на базе Intel NUC построила линейку программных терминалов для видеоконференцсвязи.
И вот появилась новая линейка мини-устройств на базе мобильных процессоров Intel Core 7-го поколения. Цена аналогична 6-му поколению, характеристики на первый взгляд почти идентичны.
Для того, чтобы разобраться в отличительных особенностях и преимуществах новой платформы, был проведен ряд типовых тестов, результаты которых приведены под катом.
Читать полностью »

Сравнение производительности процессоров Intel разных поколений - 1Почти каждый год на рынок выходит новое поколение центральных процессоров Intel Xeon E5. В каждом поколении попеременно меняются сокет и технологический процесс. Ядер становится всё больше и больше, а тепловыделение понемногу снижается. Но возникает естественный вопрос: «Что даёт новая архитектура конечному пользователю?»
Для этого я решил протестировать производительность аналогичных процессоров разных поколений. Сравнивать решил модели массового сегмента: 8-ядерные процессоры 2660, 2670, 2640V2, 2650V2, 2630V3 и 2620V4. Тестирование с подобным разбросом поколений является не совсем справедливым, т.к. между V2 и V3 стоит разный чипсет, память нового поколения с большей частотой, а самое главное — нет прямых ровесников по частоте среди моделей всех 4-х поколений. Но, в любом случае, это исследование поможет понять в какой степени выросла производительность новых процессоров в реальных приложениях и синтетических тестах.Читать полностью »

Тестирование производительности баз данных при помощи tSQLt и SQLQueryStress - 1 Надеюсь не будет откровением, если я скажу, что тестирование отыгрывает важную роль при разработке любого программного продукта. Чем качественнее тестирование, тем лучше в итоге должен выйти конечный продукт.

Часто можно столкнуться с ситуацией, когда тестирование программного кода проходит очень кропотливо, а на тестирование базы данных времени уже не остается либо оно делается по остаточному принципу. Подчеркну, что это формулировка весьма сдержанная, на практике все бывает еще хуже… про базу вспоминают только когда с ней начинаются проблемы.

В итоге работа с базой может стать узким местом в производительности нашего приложения.

Чтобы избавить себя от подобного рода проблем, я предлагаю рассмотреть различные аспекты тестирования баз данных. К которым можно отнести нагрузочное тестирование и проверку производительности SQL Server в целом при помощи юнит-тестов.
Читать полностью »

В последнее время обращал внимание на материалы о производительности и замерах скорости функций PHP. После анализа ряда материалов был сделан следующий вывод. Сравнений довольно много, но все замеры проводятся с разными входными условиями, вывод результатов тестирования у каждого решения свой, не говоря уже о том, если появится желание проверить тесты в своей среде, то придется копипастить куски кода.

Поэтому возникла идея написать собственный механизм простого тестирования скорости различных операций. Задумка показалась интересной, поэтому начало было положено!
Читать полностью »

Прежде всего, поздравляем всех читателей нашего блога с прошедшим Днем системного администратора! Особенно приятно отметить, что современный системный администратор выполняет и функцию связиста, которую традиционно выполняли отдельные сотрудники, особенно в крупных организациях. Это подтверждает истину о том, что сисадмин еще не скоро останется без работы. С другой стороны, наша система 3CX проектируется по принципу Zero Admin, что означает следующее — зарплата будет та же, а работы будет меньше :-)

По случаю праздника мы приготовили для вас два интересных подарка: выпуск 3CX v15 SP1 и обзор работы нашей системы на мини ПК, размером с небольшую книгу.Читать полностью »

Так сложилось, что последние полгода я активно занимался тестами производительности и мне кажется, что в этой области IT царит абсолютное непонимание происходящего. В наше время, когда рост вычислительных мощностей снизился (vertical scalability), а объем задач растет с прежней скоростью, проблема производительности становится всё острее. Но прежде, чем броситься на борьбу с производительностью, необходимо получить количественную характеристику.

Краткое содержание статьи:

Предыстория

Однажды, путешествуя в поезде, я захотел посчитать, каково расстояние между столбами электропередач. Вооружившись обычными часами и оценивая среднюю скорость поезда 80-100км/ч (25 м/с), я засекал время между 2-мя столбами. Как ни странно, этот наивный метод давал очень удручающие результат, вплоть до 1.5-2 кратной разницы. Естественно метод несложно было исправить, что я и сделал, достаточно было засечь 1 минуту и посчитать количество столбов. И не важно, что мгновенная скорость на протяжении минуты может варьироваться и даже не важно посчитаем мы последний столб или минута истечет посередине, потому как измерений вполне достаточно для требуемого результата.
Смысл теста в том, чтобы получить убедительные для себя и для других измерения.

Тесты «на коленке»

Эта история мне напоминает то, что происходит с тестированием производительности в Software Engineering. Достаточно частое явление — запуск 1-2 тестов, построение графиков и получение выводов о scalability система. Даже, если есть возможность применить МНК или узнать стандартную ошибку, это не делается за «ненадобностью.» Особенно интересная ситуация, когда после этих 2 измерений, люди обсуждают насколько быстрая система, как она масштабируется и сравнивают её с другими системами по личным ощущениям.
Конечно, оценить, насколько быстро выполняется команда, не сложно. С другой стороны, быстрее не значит лучше. Системы ПО имеют свыше 10 различных параметров, от hardware на котором они работают до input, которые вводит пользователь в разные моменты времени. И зачастую 2 эквивалентных алгоритма могут давать совершенно разные параметры масштабируемости в разных условиях, что делает выбор совсем не очевидным.

Недоверие к тестам

С другой стороны результаты измерений всегда остаются источником спекуляций и недоверий.
— Вчера мы меряли было X, а сегодня 1.1*X. Кто-то что-то менял? — 10% — это нормально, у нас теперь больше записей в БД.
— При проведении теста был отключен антивирус, скайп, анимация заставки?
— Не-не, для нормальных тестов нам надо закупить кластер серверов, установить микросекундную синхронизацию времени между ними… удалить ОС, запускать в защищенном режиме…
— Сколько пользователей мы поддерживаем? У нас 5000 зарегистрированных пользователей, вдруг 20% из них залогинится, надо запускать тесты с 1000 параллельными агентами.

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

На просторах интернета много отрывочной информации о той или иной ORM для Андроид. Пока что мне не попадалось качественное сравнение ведущих ORM. Существующие статьи попахивают пиаром той или иной системы и ставят в невыгодное положение своих конкурентов либо некорректной постановкой тестирования, либо вообще использованием заведомо неверных настроек, либо не включением в тестирование сильных соперников.

Данное тестирование проведено было скорее для собственного интереса. Т.к. ORM много, все они разные, и хотелось бы иметь объективное представление о существующих системах.
Читать полностью »


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