Назад | Перейти на главную страницу

Снижение производительности Mysql после улучшенного обновления оборудования

Я новичок в Percona / серверах баз данных, и я не знаю, как подойти к следующей проблеме.

Пару дней назад я обновил оборудование серверов кластера Percona (3 узла) на гораздо более качественное.

Технические характеристики предыдущего оборудования:

Vendor: OEM  
cpu: i7-3930K 3.2 GHz(12 cores)  
RAM: 64G  (8 x 8GB DIMM DDR3 1334Mhz)
I/O: software RAID

Технические характеристики нового оборудования:

Vendor: DELL PowerEdge™ R730 DX291   
cpu: Intel(R) Xeon(R) CPU E5-2630v3 2.4GHz  (32 cores)
RAM: 128G  (8 x 16GB DIMM DDR4 1866Mhz)
I/O: Hardware raid ( raid10 - 1024M Non-Volatile cache - Adaptive Read Ahead - Writeback) 

Рабочая нагрузка базы данных:

writes (inserts-updates): 25 per second
reads (select): 350 per second

Разница в серверах огромна, и я ожидал, что производительность percona (mysql) значительно увеличится, однако после просмотра различной статистики из новой реликвии я заметил обратное.

Например, время ответа на некоторые запросы увеличилось с 2 мс до 6 мс. Время выполнения некоторых других запросов на выборку увеличилось с 50 мс до 75 мс.

Есть идеи, как это исправить?

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

  1. Ваша рабочая нагрузка ориентирована на чтение или запись?
  2. У вашего аппаратного рейда есть энергонезависимый кеш записи? Если да, он настроен в режиме обратной записи или записи?
  3. Какова скорость ваших модулей DRAM?
  4. И так далее...

В любом случае, давайте сделаем обоснованное предположение: я предполагаю, что ваша рабочая нагрузка ориентирована на чтение, и что RAM Xeon имеет более высокую плотность, но более низкую скорость. Если да, то, вероятно, вас укусили следующие факторы:

  1. Низкая частота: i7-3930k имеет частоту 3,2 / 3,8 ГГц (базовая / турбо), а ваш Xeon 2630v3 работает на более низкой частоте 2,4 / 3,2 ГГц.
  2. Более медленная память: из-за более высокой плотности и требований ECC, задержка Xeon должна быть значительно выше, чем у i7
  3. Двойной сокет против одинарного: для достижения максимальной производительности, многосеточную систему необходимо тщательно настроить, чтобы избежать ненужного переноса процессов, очистки кеша, избыточного доступа к памяти удаленного узла и тому подобного.

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