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

A drawing of a castle Description automatically generated

Саммари

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

Введение

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

У нас был один сервер на базе нового процессора AMD, куча тестов, которые мы хотели прогнать, и неделя, чтобы проверить работу машины под реальной нагрузкой. Не то чтобы это был достаточный срок для близкого знакомства со свежей железкой, но когда постоянно тестируешь новинки и кастомизируешь сервисы, сложно остановиться.

Какие тесты мы все-таки успели прогнать, в каких задачах «новичок» переиграл нашу рабочую лошадку из флагманского пула, а где уступил — рассказываем под катом.

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

Чего ждать от новых Xeon E. Сравниваем с E3 и делаем выводы - 1

Продолжаю тестировать процессоры. В этот раз моё внимание целиком и полностью переключилось с десктопных Core на серверные Xeon. Что, надо признаться, не случайно. Во-первых, меня об этом горячо просили в комментариях к прошлой статье, а во-вторых, наш парк пополнился свежими Xeon E — мы решили обновить линейку однопроцессорных выделенных серверов и прикупили E-2134 и E-2136 как альтернативу E3-12XX. Читать полностью »

Так-Так-Так и никакого Тика. Чем отличаются процессоры Intel Core разных поколений на основе одной архитектуры - 1

С появлением процессоров Intel Core седьмого поколения многим стало понятно, что стратегия «Тик-так», которой Интел следовал всё это время, дала сбой. Обещание уменьшить технологический процесс с 14 до 10 нм так и осталось обещанием, началась долгая эпоха «Така» Skylake, во время которой случился Kaby Lake (седьмое поколение), внезапный Coffee Lake (восьмое) с незначительным изменением техпроцесса с 14 нм до 14 нм+ и даже Coffee Lake Refresh (девятое). Кажется, Интелу и правда нужен был небольшой перерыв на кофе. В итоге мы имеем несколько процессоров разных поколений, которые созданы на основе одной микроархитектуры Skylake, с одной стороны. И уверения Интела о том, что каждый новый процессор — лучше прежнего, с другой. Правда, не очень понятно, чем именно…

Так-Так-Так и никакого Тика. Чем отличаются процессоры Intel Core разных поколений на основе одной архитектуры - 2

Поэтому вернёмся к нашим поколениям. И посмотрим, чем же они отличаются.
Читать полностью »

Примечание переводчика: я тоже думал, что время статей "Что быстрее — двойные или одинарные кавычки?" прошло еще 10 лет назад. Но вот подобная статья ("What performance tricks actually work") недавно собрала на Реддите относительно большой рейтинг и даже попала в PHP дайджест на Хабре. Соответственно, я решил перевести статью с критическим разбором этих и подобных им "тестов".

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

Главная проблема

Такие тесты являются неверными по многим причинам, начиная с постановки вопроса и заканчивая ошибками реализации. Но что важнее всего — подобные тесты бессмысленны и в то же время вредны.

  • Бессмысленны потому, что никакой практической ценности не несут. Ни один реальный проект еще никогда не был ускорен с использованием методов, приводимых в таких статьях. Просто потому, что не различия в синтаксисе имеют значение для производительности, а обработка данных.
  • Вредны потому, что они приводят к появлению дичайших суеверий и — что еще хуже — побуждают ничего не подозревающих читателей писать плохой код, думая при этом что "оптимизируют" его.

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

Обзор и тестирование СХД Infortrend EonStor DS2024 2-го поколения - 1В статье «СХД Infortrend — альтернатива А-брендам. Обзор и тестирование» мы описали функционал и производительность одной из самых популярных на тот момент SAN Infortrend — DS 3012T. К преимуществам СХД Infortrend, по итогам прошлой статьи, мы отнесли поддержку классических Enterprise-дисков (не брендированных) и обеспечение работы SATA-дисков в 2-контроллерных системах. Эти факты делают данные системы хранения уникальными, т.к. используя SATA SSD Enterprise, можно построить бюджетную систему хранения с высокими показателями производительности и отказоустойчивости.

В этой статье мы рассмотрим 24-дисковую модель SAN 2000-ой серии, и уделим больше внимания интерфейсу управления Infortrend SANWatch.
Читать полностью »

Тестирование систем в TPC-C — быстро и просто - 1

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

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

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

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

Публикую предпоследнюю часть разбора с третьей задачей. До этого выходил разбор первой задачи и второй задачи.

Код к третьей задаче:

    public static double compute(
            double x1, double y1, double z1,
            double x2, double y2, double z2) {
        double x = y1 * z2 - z1 * y2;
        double y = z1 * x2 - x1 * z2;
        double z = x1 * y2 - y1 * x2;
        return x * x + y * y + z * z;
    }

    public static double compute(
            double x1, double y1, double z1,
            double x2, double y2, double z2) {
        Vector v1 = new Vector(x1, y1, z1);
        Vector v2 = new Vector(x2, y2, z2);
        return v1.crossProduct(v2).squared();
    }

    public final static class Vector {
        private final double x, y, z;

        public Vector(double x, double y, double z) {
            this.x = x; this.y = y; this.z = z;
        }

        public double squared() {
            return x * x + y * y + z * z;
        }

        public Vector crossProduct(Vector v) {
            return new Vector(
                    y * v.z - z * v.y,
                    z * v.x - x * v.z,
                    x * v.y - y * v.x);
        }
    }

Условие (упрощённо):

Определить, какие методы быстрые, а какие — медленные (JRE 1.8.0_161).

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

Intel vs AMD: сравнительные тесты - 1

Мы регулярно публикуем статьи о новых процессорах компании Intel, которая в течение многих лет была и остаётся лидером на рынке серверных решений. Однако в последнее время ситуация меняется: другие игроки активно заявляют о себе. В марте этого года компания AMD выпустила процессоры серии EPYC, о которых появляются интересные и в целом положительные отзывы (например, статья на сайте Anandtech). Но лучше один раз увидеть и потрогать руками, чем читать сотни статей в специализированных журналах и в Интернете.

Впрочем, заслуживающих внимания статей было не так уже и много. Более того, компания AMD с самого момента появления процессоров не публиковала почти никаких технических и маркетинговых материалов: на текущий момент они исчерпываются статьей AMD EPYC SoC Sets 4 World Records on SPEC CPU Benchmarks, которая имеет скорее маркетинговый, чем технический характер.

Возможность всё попробовать самим нам представилась: недавно у нас появился сервер на базе процессора AMD EPYC 7351. Мы решили сравнить его с процессорами линейки Intel Skylake SP и провести тесты производительности. Результаты тестирования и их детальный анализ приводятся ниже.
Читать полностью »

Вступление

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

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


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