MySQL 5.1 -> 5.5 -> PerconaDB упала запись в 3 раза.

12
S
На сайте с 26.10.2005
Offline
100
2390

Стояла 5.1, запись по битрикс-тесту около 8тыс попугаев. Обновил до 5.5. Запись упала до 2500 попугаев. Поставил перкону. Те же цифры. InnoDB разумеется. Как так?

---

Про "чудеса" битрикс тестов знаю, но дело в том что я вижу разницу на реальной задаче - обновление цен в каталоге.

Еще более забавно: Активировал InnoDB Plugin для 5.1 и показатели становятся как на 5.5 (медленнее в 3 раза)

mysql> show plugins;

+---------------------+--------+--------------------+---------------------+---------+

| Name | Status | Type | Library | License |

+---------------------+--------+--------------------+---------------------+---------+

| binlog | ACTIVE | STORAGE ENGINE | NULL | GPL |

| partition | ACTIVE | STORAGE ENGINE | NULL | GPL |

| CSV | ACTIVE | STORAGE ENGINE | NULL | GPL |

| MEMORY | ACTIVE | STORAGE ENGINE | NULL | GPL |

| MyISAM | ACTIVE | STORAGE ENGINE | NULL | GPL |

| MRG_MYISAM | ACTIVE | STORAGE ENGINE | NULL | GPL |

| InnoDB | ACTIVE | STORAGE ENGINE | ha_innodb_plugin.so | GPL |

| INNODB_TRX | ACTIVE | INFORMATION SCHEMA | ha_innodb_plugin.so | GPL |

| INNODB_LOCKS | ACTIVE | INFORMATION SCHEMA | ha_innodb_plugin.so | GPL |

| INNODB_LOCK_WAITS | ACTIVE | INFORMATION SCHEMA | ha_innodb_plugin.so | GPL |

| INNODB_CMP | ACTIVE | INFORMATION SCHEMA | ha_innodb_plugin.so | GPL |

| INNODB_CMP_RESET | ACTIVE | INFORMATION SCHEMA | ha_innodb_plugin.so | GPL |

| INNODB_CMPMEM | ACTIVE | INFORMATION SCHEMA | ha_innodb_plugin.so | GPL |

| INNODB_CMPMEM_RESET | ACTIVE | INFORMATION SCHEMA | ha_innodb_plugin.so | GPL |

+---------------------+--------+--------------------+---------------------+---------+

N
На сайте с 06.05.2007
Offline
419
#1

sstyle, почему бы и нет? в Percona никто не обещал ускорения. Обещали диагностику и масштабируемость.

Но вообще, я полагаю, и у вас просто методика измерений зависит от внешних условий.

Cделайте тест битрикс не на VPS и 20 раз в разное время дня, усредните - тогда о чем-то можно будет рассуждать.

Кнопка вызова админа ()
Vin_cent
На сайте с 22.01.2010
Offline
165
#2

Почему поставил mysql 5.5? Установи 5.6 и протестируй.

S
На сайте с 26.10.2005
Offline
100
#3

https://www.percona.com/blog/2011/10/10/mysql-versions-shootout/

http://www.sql.ru/forum/1034085/percona-vs-mysql

5.6 будет еще медленнее судя по тестам. Вобщем солидарен с автором темы на sql ru. Оставлю 5.1, раз она быстрее всех.

kxk
На сайте с 30.01.2005
Offline
970
kxk
#4

Надо изучать триггеры mysql, наш программист изучил и прирост на 5,6 +350%.

Иннодб всегда был есть и будет самым медленным движком его нужно использовать только если у машины слабы процессор.

Ваш DEVOPS
S
На сайте с 26.10.2005
Offline
100
#5

впервые слышу чтобы innodb было медленнее myisam. На нагруженных серверах это 100% не так.

seocore
На сайте с 25.09.2006
Offline
143
#6
sstyle:
впервые слышу чтобы innodb было медленнее myisam. На нагруженных серверах это 100% не так.

Зависит от специфики использования, но при всех прочих равных будет значительно медленнее, и это не пустые слова, а практика в виде активных 1.5Тбайт данных на SSD-массивах Intel DC S3700 🍿

sstyle:
Стояла 5.1, запись по битрикс-тесту около 8тыс попугаев. Обновил до 5.5. Запись упала до 2500 попугаев. Поставил перкону. Те же цифры. InnoDB разумеется. Как так?

К слову, XtraDB реализован на InnoDB Plugin, только первый быстрее второго значительно, а второй в быстрее встроенного InnoDB. Но это только в теории, на практике, логика работы там иная, дефолтные значения типа innodb_io_capacity могут быть весьма интересными (по умолчанию IOPS'ов всего 200), в итоге это выливается в ситуацию когда более быстрое решение (но криво настроенное) проигрывает в пух и прах более старой реализации (в виде встроенного InnoDB).

И попробуйте потюнить:

# временные файлы в ОЗУ

tmpdir = /dev/shm

# если ОЗУ позволяет, то выставляем равным объему всех таблиц

innodb-buffer-pool-size = 2G

# чем выше предыдущее значение, тем выше устанавливаем это значение

innodb_buffer_pool_instances = 2

# оптимизируем логи

innodb_log_file_size = 1G

innodb_log_buffer_size = 64M

# тюним работу со сторэджем (пример для SSD)

innodb_read_io_threads = 32

innodb_write_io_threads = 32

innodb_io_capacity = 1024

# оптимизируем сброс логов

innodb-flush-log-at-trx-commit = 2

Инструменты для веб-мастера: кластеризатор СЯ (https://goo.gl/MQWfqO), все запросы конкурента (https://goo.gl/hd5uHS), дешевые XML-лимиты (https://goo.gl/aDZbPI)
Vin_cent
На сайте с 22.01.2010
Offline
165
#7
sstyle:
https://www.percona.com/blog/2011/10/10/mysql-versions-shootout/
http://www.sql.ru/forum/1034085/percona-vs-mysql

5.6 будет еще медленнее судя по тестам. Вобщем солидарен с автором темы на sql ru. Оставлю 5.1, раз она быстрее всех.

Посмотри на табличку в статье:

https://habrahabr.ru/post/242337/

·
На сайте с 02.11.2007
Offline
153
#8

MyISAM определенно значительно быстрее там, где частые апдейты и вставки данных.

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

Нашел кстати небольшой хак для InnoDB, но не пробовал

https://www.drupal.org/node/1661608

S
На сайте с 26.10.2005
Offline
100
#9

Парни, MyISAM блокирует при вставке всю таблицу целиком, а InnoDB по строкам. Битрикс сам в своих рекомендациях настаивает на InnoDB

Фикс этот я уже сделал, значения и выросли до ~8тыс. Но на хостинге за 300рублей (не буду говорить каком, чтобы не рекламировать), на такой же версии PHP 5.3 результат такой:

Сегодня пытался поставить MariaDB. Как-то долго, нудно, особенно с конфигом. Подзабил на время.

Главное сейчас оптимизировать скорость "процессора" по битрикс-тесту. Почему то медленно. На этом же хостинге вместо апача видимо php-fpm используют.

N
На сайте с 06.05.2007
Offline
419
#10
sstyle:
Главное сейчас оптимизировать скорость "процессора" по битрикс-тесту. Почему то медленно.

А зачем ? Вы нанимались именно попугаи поднимать ?

Я всегда думал, что для вебмастера главное это выгода и стабильность

.

sstyle:
Парни, MyISAM блокирует при вставке всю таблицу целиком, а InnoDB по строкам. Битрикс сам в своих рекомендациях настаивает на InnoDB

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

Но а если ее просто выключить ? Остальные то таблицы не сильно меняются. ( И не надо рассказывать, что у вас по 30 постов в секунду происходит ) . Так многие делают. Сайт останется сайтом . Посещаемость в Метрике посмотрите.

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий