|
|
|
Замена innodb_page_size
|
|||
|---|---|---|---|
|
#18+
Вопрос вот в чем, заимел на сервак SSD Intel3700 объединил в raid-1 перекинул на него базу. В опциях mysql стоит innodb_file_per_table. Собственно товарищ Зайцев из Percona http://www.slideshare.net/profyclub_ru/ssd-percona советует для увеличения производительности на OLTP поставить innodb_page_size=4K. Хочется ему верить, но есть засада Код: plaintext 1. 2. Умолчательный размер это 16к. Как быть? Сделать новый ibdata? А что тогда с файлами ibd, будет ли корректно работать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.05.2015, 23:41:06 |
|
||
|
Замена innodb_page_size
|
|||
|---|---|---|---|
|
#18+
m0nk3y, т.е.ты хочешь поменять размер страницы БД с 16к на 4к ? В современных условиях уже достаточно спорный совет. Для OLTP хорошо, когда размер страницы бд совпадает с размером минимального блока обмена с диском. В современных дисках этот размер обычно 8к или 16к. так что я бы еще 20 раз подумал. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.05.2015, 09:23:42 |
|
||
|
Замена innodb_page_size
|
|||
|---|---|---|---|
|
#18+
MasterZivВ современных дисках этот размер обычно 8к или 16к.Насколько я в курсе, размер минимального блока обмена с диском - это его сектор. Которые бывают 512 байт или 4 КБ. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.05.2015, 09:46:36 |
|
||
|
Замена innodb_page_size
|
|||
|---|---|---|---|
|
#18+
MasterZiv, доклад у Зайцева был в ноябре 2014, так что насчет его устарелости советов хз. Да и с другой стороны сам интел попугаи предоставляет на блоках в 4к http://www.intel.ru/content/www/ru/ru/solid-state-drives/solid-state-drives-dc-s3700-series.html ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.05.2015, 09:53:52 |
|
||
|
Замена innodb_page_size
|
|||
|---|---|---|---|
|
#18+
miksoft, документация по "InnoDB page structure" говорить 16 Кб: InnoDB stores all records inside a fixed-size unit which is commonly called a "page" (though InnoDB sometimes calls it a "block" instead). Currently all pages are the same size, 16KB. innodb-page-structure нужно учесть что, до 5.6.4 MySQL невозможно было изменить "page size" динамически. для этого нужно было рекомпилировать MySQL (конкретно изменить UNIV_PAGE_SIZE_SHIFT и UNIV_PAGE_SIZE в source), а потом уже ставить в my.cnf. with the 5.6.4 release, those smaller page sizes are fully supported by MySQL. Just export your data, move or delete the system database (ibdata1) and the log files (ib_logfile0 & ib_logfile1), set innodb-page-size to either 4k or 8k, and restart MySQL. A new InnoDB instance will be created with the smaller page size. Then you can import your data and run your tests, all without recompiling InnoDB. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.05.2015, 11:12:22 |
|
||
|
Замена innodb_page_size
|
|||
|---|---|---|---|
|
#18+
Shahriyar.R, В слайдах речь идет все-таки о Перконе, а как там обстоит с этим дело - не знаю. Поэтому я не выступаю ни на стороне "за", ни на стороне "против". В MySQL я бы не рискнул такое делать ни в какой версии. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.05.2015, 12:24:35 |
|
||
|
Замена innodb_page_size
|
|||
|---|---|---|---|
|
#18+
m0nk3yMasterZiv, доклад у Зайцева был в ноябре 2014, так что насчет его устарелости советов хз. Да и с другой стороны сам интел попугаи предоставляет на блоках в 4к http://www.intel.ru/content/www/ru/ru/solid-state-drives/solid-state-drives-dc-s3700-series.html ну во всех ведущих СУБД минимальный блок уже 8к достаточно давно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.05.2015, 13:49:29 |
|
||
|
Замена innodb_page_size
|
|||
|---|---|---|---|
|
#18+
miksoftMasterZivВ современных дисках этот размер обычно 8к или 16к.Насколько я в курсе, размер минимального блока обмена с диском - это его сектор. Которые бывают 512 байт или 4 КБ. В данном случае идёт обмен между диском и процедурами ОС. А ОС при файловом обмене мыслит именно блоками (кластерами), и соответственно запрашивает не менее кластера (а с учётом предчтения - и больше). Так что утверждение, что обмен ОС с диском ведётся блоками не менее (кратными) 8 кбайт, скорее можно считать правдой. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.05.2015, 13:56:19 |
|
||
|
Замена innodb_page_size
|
|||
|---|---|---|---|
|
#18+
Akinamiksoftпропущено... Насколько я в курсе, размер минимального блока обмена с диском - это его сектор. Которые бывают 512 байт или 4 КБ. В данном случае идёт обмен между диском и процедурами ОС. А ОС при файловом обмене мыслит именно блоками (кластерами), и соответственно запрашивает не менее кластера (а с учётом предчтения - и больше). Так что утверждение, что обмен ОС с диском ведётся блоками не менее (кратными) 8 кбайт, скорее можно считать правдой.В самой распространенной линуксовой ФС EXT3/EXT4 размер кластера 4 КБ. На тех виндовых серверах, которые мне сейчас подвернулись под руку тоже везде 4 КБ без вариантов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.05.2015, 14:08:36 |
|
||
|
Замена innodb_page_size
|
|||
|---|---|---|---|
|
#18+
miksoft, там всё достаточно сложно. И с терминологией, и с диагностикой. Но как бы все говорят, что размер блока в 4к -- анахронизм. Уже давно говорят. Я не знаю, почему Зайцев такое отмочил. Может там какие-то тонкие настройки, может это в контексте было сказано. Народ же недалёкий, часто не догоняет, что там ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.05.2015, 15:25:37 |
|
||
|
Замена innodb_page_size
|
|||
|---|---|---|---|
|
#18+
Сори, до меня только что дошло, что речь про SSD -- так там вполне возможно блоки меньше. Я не знаю. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.05.2015, 15:26:55 |
|
||
|
Замена innodb_page_size
|
|||
|---|---|---|---|
|
#18+
MasterZiv, авторНарод же недалёкий, часто не догоняет, что там ... ахаха, вот спасибо )) корочь пока видится только один путь - это залить дамп базы на свежеподготовленное innodb окружение с 4к страницами. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.05.2015, 16:28:12 |
|
||
|
Замена innodb_page_size
|
|||
|---|---|---|---|
|
#18+
m0nk3y, 1. Решение поставить БД на SSD - это уже "нечто". По моей практике и моих знакомых админов, это "решение" примерно на год при средненькой эксплуатации. Ибо SSD - это FLASH, который как известно имеет ограниченное количество циклов записи... "шустро"? Все относительно. На 4-8 винтах HDD с raid-0 получите примерно тоже самое (400Мб/сек. - реальные потоки), и даже с большей надежностью "итого". А ежели у вас 70% read, то и с raid1/10 получите не кислые скорости обмена при чтениях... про надежность в таких решениях - можно не переживать. Мне известны системы отработавшие уже лет по 8-10 и ещё стоящие в строю. Надо больше? Может "код почистить"? Дороже? Ну, знаете... если у вас "поток и обработка", то есть нашлось столько данных и задач, то найти бабки на нормальную дисковую подсистему, думаю можно. А если это вариант курсовой, то пофиг какой там сектор и кластер. 2. "сектор" SSD = 512байт. Кластер = 512байт. ОС оперирует кластерами. Сектор HDD = 512 байт. Кластер = 4кб (типовой). В Линуксе, тот же EXT3/4 можно легко перенатсроить на практически любой кластер от 512б. до 32кб. контроллеры разного аппаратного рейда легко имитируют кластер, собирая его в параллель с нескольких дисков... может вам требуется аппаратный рейд, а не программный (встроенный в мамку)? Пошукайте, возможно откроете для себя много интересного. 3. "буфер БД" = 16кб. И это - далеко не случайно. Буфер должен вмещать в себя более одной записи при некоем "среднем" размере строки таблицы данных. А лучше несколько. Если буфер мал, то запись будет занимать более одного буфера, а читается она целиком... Вот как-то так. Вопрос более чем странный. :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.05.2015, 15:31:12 |
|
||
|
Замена innodb_page_size
|
|||
|---|---|---|---|
|
#18+
Arhat109Решение поставить БД на SSD - это уже "нечто". По моей практике и моих знакомых админов, это "решение" примерно на год при средненькой эксплуатации. Ибо SSD - это FLASH, который как известно имеет ограниченное количество циклов записи... "шустро"? Все относительно.У нас 20-30 инсталляций СУБД на десктопных одиночных SATA-шных SSD. Все прекрасно работает годами.Arhat109На 4-8 винтах HDD с raid-0 получите примерно тоже самоеТолько по стоимости уже начинает сильно проигрывать. Arhat109"сектор" SSD = 512байт. Кластер = 512байт.Кластеров там вообще нет. А сектора, если верить Яндекс.Маркету, у всех 6-Гигабитных SATA-шных SSD , которые сейчас есть в продаже, по 4 КБ. Хуже всего с блоками записи - они довольно большого размера, сильно больше 4КБ.Arhat109В Линуксе, тот же EXT3/4 можно легко перенастроить на практически любой кластер от 512б. до 32кб.Только до 4 КБ. А меньше не имеет смысла. Поэтому по факту всегда 4 КБ. Arhat109"буфер БД" = 16кбВ InnoDB - да. А в целом по всем СУБД - по разному. В Оракле, например, обычно 8 КБ используется. Я все это к тому, что в местах, не требующих сверхвысокой непрерывности и гигантских объемов, SSD уже вполне справляются. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.05.2015, 16:03:45 |
|
||
|
Замена innodb_page_size
|
|||
|---|---|---|---|
|
#18+
miksoft, У меня нет 20-30 инсталляций SSD. Есть 3-5 примеров, и во всех них, без исключений, SSD через год эксплуатации вызывал проблемы восстановления БД. В одном случае - невыполнимые (бэкап оказался на том же SSD). В пятницу смотрел на нашем серваке: сектор 512, винт форматирован с кластером 512. Не знаю что там больше. Формитировался и монтировался винт "типовым софтом". Да, объем буферных элементов в БД 8-16кб. (Cache тоже 8-16кб) и раньше видел достаточно рекомендаций по увеличению в большую сторону, но никак не в размер 4к и менее. На ext3/4 я сам часто форматирую кластер в 2кб., а для веб-хранений так и ваще в 1кб. (много мелких скриптов у веб-сервера). 4кб - просто мне кажется оптимум, выработанный годами и количеством вариантов эксплуатации. Экономия и рост производительности от меньшего кластера - очень незначительны. Я почему и отписал, что вопрос "более чем странный". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.05.2015, 09:35:45 |
|
||
|
|

start [/forum/topic.php?fid=47&msg=38972411&tid=1833135]: |
0ms |
get settings: |
7ms |
get forum list: |
14ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
44ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
32ms |
get tp. blocked users: |
1ms |
| others: | 202ms |
| total: | 313ms |

| 0 / 0 |
