powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / На внешней СХД сильно тормозит реплика
17 сообщений из 17, страница 1 из 1
На внешней СХД сильно тормозит реплика
    #38547431
kestrel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день!

Реплика крутится на сервере с 96 ГБ (т.е. память не в дефиците).
В сервере 8 HDD 140 GB 15K в RAID10, контроллер IBM ServeRAID M5015.
В такой конфигурации дисковая подсистема справляется с нагрузкой с большим запасом: в полупиковое время 15-минутное отставание реплика нагоняет за 4 минуты.

Всё меняется, если перенести данные на внешнюю СХД (IBM Storwize V3700, 8 HDD 300 GB 15K, RAID10, адаптер QLogic 8Gb FC Dual-port HBA): реплика догоняет, но очень медленно - 15-минутное отставание за час уменьшается до 4-минутного.
Впечатление такое, что на СХД выключен кеш записи, но это не так. Темп записи на диск при этом весьма приличный - 140 МБ/с (даже больше, чем на внутренних дисках), но на скорости реплики это не отражается.

На обоих массивах XFS, единственное отличие - strip-size: 64 K на внутренних дисках, 256 K на СХД.

CentOS 6
Ядро 2.6.32-431.el6.x86_64
Percona-Server-5.5.16

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
[mysqld]
datadir = /srv/mysql
port = 3306
socket = /tmp/mysql.sock
character-set-server = utf8
collation_server = utf8_unicode_ci
skip-external-locking
skip-name-resolve
ft_min_word_len = 2
back_log = 100
max_connections = 200
max_user_connections = 200
interactive_timeout = 1800
wait_timeout = 120
connect_timeout = 5
key_buffer_size = 6G
myisam_sort_buffer_size = 4095M
join_buffer_size = 1M
sort_buffer_size = 2M
table_open_cache = 2048
thread_cache_size = 286
thread_stack = 196K
max_allowed_packet = 16M
max_connect_errors = 10
max_heap_table_size = 1G
tmp_table_size = 64M
innodb_data_home_dir = /srv/mysql/

innodb_data_file_path = ibdata1:10M:autoextend
innodb_file_per_table
innodb_log_group_home_dir = /srv/mysql/
innodb_buffer_pool_size = 40G
innodb_additional_mem_pool_size = 20M
innodb_log_file_size = 1900M
innodb_log_buffer_size = 16M
innodb_flush_log_at_trx_commit = 1
innodb_flush_method = O_DIRECT
innodb_lock_wait_timeout = 50
innodb_thread_concurrency = 32
transaction_isolation = REPEATABLE-READ
innodb_stats_on_metadata = 0

slow_query_log_file = /srv/mysql/mysql-slow.log
long_query_time = 0.5
log_slow_rate_limit = 1
log_slow_verbosity = full
query_response_time_stats = ON
server-id = 104

skip-slave-start
read_only = 1
binlog-format = MIXED
log-bin = mysql-bin
log-bin-index = mysql-bin.index
relay-log = relay-log
relay-log-index = relay-log.index
expire_logs_days = 10
sync_binlog = 1
binlog_cache_size = 1M
replicate-ignore-db = mystat
replicate-ignore-db = test
...
Рейтинг: 0 / 0
На внешней СХД сильно тормозит реплика
    #38547554
Aleksandr Kuzminsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
kestrel,

Посмотрите на время отклика операции записи на локальном и внешнем диске и поймете почему в последнем случае реплика будет отставать.

На репликах можно ослабить требования по durability. У Вас всегда есть мастер. В случае чего, реплику можно синхронизировать с масторм.
Поэтому
innodb_flush_log_at_trx_commit = 0
sync_binlog = 0

Выключите всякий оверхед, если не обязятельно нужен

query_response_time_stats = OFF
...
Рейтинг: 0 / 0
На внешней СХД сильно тормозит реплика
    #38548118
kestrel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Aleksandr Kuzminsky,

Вопрос не в том, как ускорить mysql, в конце концов innodb_flush_log_at_trx_commit = 2 всё решает.
Я не могу снизить требования к надёжности, т.к. в перспективе на такую же СХД должен быть переведён и мастер, и с такой скоростью записи он не вытянет.
Т.е. вопрос - как разогнать СХД? Может, у кого-нибудь есть опыт с этой моделью.
...
Рейтинг: 0 / 0
На внешней СХД сильно тормозит реплика
    #38548304
netwind
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kestrel, ну разве не очевидно, что для распределенных систем важна не только пропускная способность, но и скорость ответа ?
Чем это подключено к серверу? А если попробовать другой интерфейс ?

В общем случае, правило такое - все СХД тормозят какие бы они ни были дорогие, потому что они удаленные и время отклика больше.
...
Рейтинг: 0 / 0
На внешней СХД сильно тормозит реплика
    #38552196
kestrel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Возможно, требуют настройки размеры каких-то буферов, но не могу сообразить, каких именно.

При innodb_flush_log_at_trx_commit = 1 :
отставание реплики сокращается на 10 с за 30 с

интенсивность записи 150 МБ/с

Innodb_data_fsyncs = 600 c -1

log_writes = 0 c -1 (log i/o's done из INNODB STATUS)

Меняю innodb_flush_log_at_trx_commit = 2 :

накат реплики ускоряется до 4 с за 1 с (в 12 раз), при этом

интенсивность записи падает до 10 МБ/с

Innodb_data_fsyncs = 2 с -1

log_writes = 300 с -1
...
Рейтинг: 0 / 0
На внешней СХД сильно тормозит реплика
    #38552201
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kestrelинтенсивность записи 150 МБ/сКак именно вы измеряете эту величину?
...
Рейтинг: 0 / 0
На внешней СХД сильно тормозит реплика
    #38552207
netwind
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kestrelВозможно, требуют настройки размеры каких-то буферов, но не могу сообразить, каких именно.

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

Если вам так нужно отчитаться об использовании СХД, то купите еще SSD локально и соорудите flashcache на нем.
...
Рейтинг: 0 / 0
На внешней СХД сильно тормозит реплика
    #38552223
kestrel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
miksoftkestrelинтенсивность записи 150 МБ/сКак именно вы измеряете эту величину?
Это измеряет collectd, берётся из disk-octets.rrd.
Так ли важно, как это измеряется - главное, что показания релевантны и их можно сопоставлять.
...
Рейтинг: 0 / 0
На внешней СХД сильно тормозит реплика
    #38552230
kestrel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
netwindБуферизация подразумевает накопление. Но ведь вы хотите обеспечить надежность, то есть требуете немедленный ответ от дисковой подсистемы.
Буферизировать нечего. При таких настройках она будет писать сейчас же, потому что вы требуете от нее писать.
Кажется, Вы не поняли вопрос.
innodb_flush...=2, при этом накат реплики ожидаемо ускоряется, но при этом интенсивность записи ПАДАЕТ! Почему?

netwindЕсли вам так нужно отчитаться об использовании СХД, то купите еще SSD локально и соорудите flashcache на нем.
Вы придумываете, я не говорил, что мне нужно отчитаться.
...
Рейтинг: 0 / 0
На внешней СХД сильно тормозит реплика
    #38552252
netwind
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kestrelnetwindБуферизация подразумевает накопление. Но ведь вы хотите обеспечить надежность, то есть требуете немедленный ответ от дисковой подсистемы.
Буферизировать нечего. При таких настройках она будет писать сейчас же, потому что вы требуете от нее писать.
Кажется, Вы не поняли вопрос.
innodb_flush...=2, при этом накат реплики ожидаемо ускоряется, но при этом интенсивность записи ПАДАЕТ! Почему?

по-моему тут все ожидаемо : на каждый commit приходится не менее чем одна операция записи. Операции выполняются блоками например по 16кбайт. При настройке =2 mysql не спешит писать и последовательные операции складываются в эти 16кбайт. Интенсивность записи на устройство, измеренная как байт/секунду падает.
Если же измерять сколько конкретный процесс написал байт в файл - вот тогда будет одинаково.


netwindЕсли вам так нужно отчитаться об использовании СХД, то купите еще SSD локально и соорудите flashcache на нем.
Вы придумываете, я не говорил, что мне нужно отчитаться.
Я не понимаю зачем люди создают себе "псевдокорпооративные" проблемы. Ну не работает эта СДХ так же быстро как локальные диски, ну так и не используйте.
Впрочем, возможно действительно имеет место какая-то неправильная конфигурация этой конкретной СХД. Но это уже не вопрос настройки mysql.
...
Рейтинг: 0 / 0
На внешней СХД сильно тормозит реплика
    #38552256
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kestrelmiksoftпропущено...
Как именно вы измеряете эту величину?
Это измеряет collectd, берётся из disk-octets.rrd.
Так ли важно, как это измеряется - главное, что показания релевантны и их можно сопоставлять.У меня есть гипотеза с потолка, но для ее проверки нужно точно знать, как именно подключена и настроена СХД.
Если, допустим, на ней сделан софтовый рейд с большим размером страйпа и если измерение происходит на уровне физических носителей (точнее, их логической видимости в устройствах), то:
- при innodb_flush_log_at_trx_commit = 1 MySQL пишет данные небольшими порциями, которые меньше страйпа. Тогда будет сначала читаться весь страйп целиком, потом будет модификация измененной части и запись страйпа обратно.
- при innodb_flush_log_at_trx_commit = 2 MySQL пишет данные значительно большими порциями. Тогда многие страйпы будут просто записаны целиком, без чтения. Да и число записей будет сильно меньше, чем в первом варианте.

Повторюсь, гипотеза с потолка. И, если измерение скорости происходит между MySQL и файловой системой, то она становится неверна.
...
Рейтинг: 0 / 0
На внешней СХД сильно тормозит реплика
    #38552261
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
netwindИнтенсивность записи на устройство, измеренная как байт/секунду падает.Может, не "байт/секунду", а "операций/секунду" ?
...
Рейтинг: 0 / 0
На внешней СХД сильно тормозит реплика
    #38552288
netwind
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
miksoft, вроде да, тут прямая зависимость байт от числа операций.
Хотя странно, почему тогда мониторинг не выдает просто число операций ?
...
Рейтинг: 0 / 0
На внешней СХД сильно тормозит реплика
    #38552303
netwind
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
miksoftMySQL пишет данные небольшими порциями, которые меньше страйпа. Тогда будет сначала читаться весь страйп целиком, потом будет модификация измененной части и запись страйпа обратно.
Страйп - это подряд идущие блоки. По-моему нормальный контроллер не должен читать и писать весь страйп. Достаточно только нужный блок. Разве нет? тут ведь для raid10 не нужно рассчитывать контрольные суммы и тд.
...
Рейтинг: 0 / 0
На внешней СХД сильно тормозит реплика
    #38552337
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
netwindmiksoftMySQL пишет данные небольшими порциями, которые меньше страйпа. Тогда будет сначала читаться весь страйп целиком, потом будет модификация измененной части и запись страйпа обратно.
Страйп - это подряд идущие блоки. По-моему нормальный контроллер не должен читать и писать весь страйп. Достаточно только нужный блок. Разве нет? тут ведь для raid10 не нужно рассчитывать контрольные суммы и тд.Это внутри СХД raid10, а я говорю о том, что там понаверчено в ОС на той машине, где MySQL работает.
...
Рейтинг: 0 / 0
На внешней СХД сильно тормозит реплика
    #38552598
netwind
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
miksoft, очевидно, что ничего не понаверчено. простое блочное устройство. Вряд ли кто-то будет делать mdraid из отдельных дисков на корпоративной СХД.
...
Рейтинг: 0 / 0
На внешней СХД сильно тормозит реплика
    #38552605
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
netwindВряд ли кто-то будет делать mdraid из отдельных дисков на корпоративной СХД.По всей вероятности - да, но чем черт не шутит...
...
Рейтинг: 0 / 0
17 сообщений из 17, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / На внешней СХД сильно тормозит реплика
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]