BlackBoxs.Biz  Зеркало Blackboxs.ruBlackBoxs.Biz  Зеркало Blackboxs.ru
BlackBoxs.Biz  Зеркало Blackboxs.ru
Справка Календарь Все разделы прочитаны
Обменник

Конкурс! Конкурс! Конкурс! 2017
Register | Lost Your Password

Вернуться   BlackBoxs.Biz Зеркало Blackboxs.ru > Техничка > Хостинги - Hostings > Администрирование сервера

Важная информация

Ответ
 
Опции темы Опции просмотра
Старый 07.11.2015, 16:52   #16
webrum
BB$
 
Регистрация: 30.04.2013
Сообщений: 224
Репутация: 130
По умолчанию

Цитата:
Сообщение от mantius Посмотреть сообщение
Есть MYISAM таблица на ~11 000 000 записей объёмом ~3 Gb и ~1 Gb индексов, запрос вида:
SELECT count(*) FROM `table` WHERE `var` = 123
Выполняется 6-7 секунд независимо от количество подходящих результатов. Сервер на Xeon X3210 c 8Gb RAM, почти без нагрузки.

Если у кого-то есть опыт работы с данными подобного объёма, подскажите, требуется ли оптимизация MySQL(или самой таблицы) или это нормальная скорость работы для такой конфигурации и просто нужно брать мощнее серв?
Есть несколько сайтов с такими объемами данных - всё летает. Работает на MySQL 5.5, таблицы MyISAM.

Покажи схему таблицы и что там за индексы.
Можно просто скриншот из phpMyAdmin, только разверни дополнительно спойлер для индексов, чтобы видеть всю схему таблицы.
webrum вне форума   Ответить с цитированием
Старый 07.11.2015, 17:38   #17
mantius
BB$
 
Аватар для mantius
 
Регистрация: 24.07.2011
Адрес: Под мостом
Сообщений: 5,555
Репутация: 2263
По умолчанию

Цитата:
Сообщение от int_main Посмотреть сообщение
Я чет не догоняю, у тебя составные индексы? Сделай отдельный индекс по var если его нету.
Всё верно - косяк был в составных индексах, сделал отдельными и теперь летает, большое спасибо всем за помощь!
__________________
Рекомендую только то, чем сам пользуюсь давно и успешно: .ru по 88 р.
Самый выгодный WAP-click, лучший конверт, единственные кто: 1) Выкупает 100% пдп 2) Оставляет их на балансе(кредит)
CPA - это AD1, сотни активных офферов.
mantius вне форума   Ответить с цитированием
Старый 07.11.2015, 18:44   #18
MaximuS
Модератор
 
Аватар для MaximuS
 
Регистрация: 22.02.2012
Сообщений: 715
Репутация: 592
По умолчанию

Супер, что докапался до сути ) А то: мускул заменить , сервак помощнее и тд )
MaximuS вне форума   Ответить с цитированием
Старый 07.11.2015, 21:23   #19
mantius
BB$
 
Аватар для mantius
 
Регистрация: 24.07.2011
Адрес: Под мостом
Сообщений: 5,555
Репутация: 2263
По умолчанию

Цитата:
Сообщение от MaximuS Посмотреть сообщение
Супер, что докапался до сути ) А то: мускул заменить , сервак помощнее и тд )
Это да. Теперь всё летает, единственное что, туго работают запросы с большим offset:
SELECT * FROM `tbl` LIMIT 50 OFFSET 11335100
6-7 секунд. Для работы сайта это не нужно, но если можно также ускорить, то было бы отлично.
__________________
Рекомендую только то, чем сам пользуюсь давно и успешно: .ru по 88 р.
Самый выгодный WAP-click, лучший конверт, единственные кто: 1) Выкупает 100% пдп 2) Оставляет их на балансе(кредит)
CPA - это AD1, сотни активных офферов.
mantius вне форума   Ответить с цитированием
Старый 07.11.2015, 23:05   #20
int_main
BB$
 
Регистрация: 31.05.2011
Сообщений: 1,365
Репутация: 850
По умолчанию

Цитата:
Сообщение от mantius Посмотреть сообщение
Это да. Теперь всё летает, единственное что, туго работают запросы с большим offset:
SELECT * FROM `tbl` LIMIT 50 OFFSET 11335100
6-7 секунд. Для работы сайта это не нужно, но если можно также ускорить, то было бы отлично.
Есть много решений. Гугли по запросу mysql offset perfomance.
Вот как вариант: http://habrahabr.ru/post/217521/
int_main вне форума   Ответить с цитированием
Старый 08.11.2015, 08:12   #21
Worm
Модератор
 
Аватар для Worm
 
Регистрация: 19.08.2011
Сообщений: 582
Репутация: 433
По умолчанию

Сразу было понятно что с индексами что то было напутано, потому что не должно долго обрабатывать такие запросы. Поэтому на это все указывать стали, что бы проверил индексы.

На сколько помню, если составные индексы используешь, то var, по которому ищешь, должно быть первым в составном индексе, тогда можно отдельный индекс не делать на var.
Worm вне форума   Ответить с цитированием
Старый 11.11.2015, 20:43   #22
mantius
BB$
 
Аватар для mantius
 
Регистрация: 24.07.2011
Адрес: Под мостом
Сообщений: 5,555
Репутация: 2263
По умолчанию

Теперь новая беда: некоторые запросы, которые редко используются, через сутки начинают тупить при первых запросах и грузить уже диск на 100%. Как я понимаю, где-то не хватает кэша, подскажите, в сторону какой переменной копать?
__________________
Рекомендую только то, чем сам пользуюсь давно и успешно: .ru по 88 р.
Самый выгодный WAP-click, лучший конверт, единственные кто: 1) Выкупает 100% пдп 2) Оставляет их на балансе(кредит)
CPA - это AD1, сотни активных офферов.
mantius вне форума   Ответить с цитированием
Старый 11.11.2015, 20:48   #23
webrum
BB$
 
Регистрация: 30.04.2013
Сообщений: 224
Репутация: 130
По умолчанию

https://www.howtoforge.com/tuning-my...ith-mysqltuner
webrum вне форума   Ответить с цитированием
Старый 11.11.2015, 21:01   #24
mantius
BB$
 
Аватар для mantius
 
Регистрация: 24.07.2011
Адрес: Под мостом
Сообщений: 5,555
Репутация: 2263
По умолчанию

Цитата:
Сообщение от webrum Посмотреть сообщение
Не нравится он мне что-то, пробовал уже на двух серверах - рекомендаций вагон, но польза от них сомнительна. Например, query_cache_size он до бесконечности предлагает увеличивать, даже когда значения ставлю уже за гранью разумного ему всё мало. Сейчас увеличил значительно(до 2.5 гб) key_buffer_size и sort_buffer_size, чтобы в них помещались целиком все индексы, как я представляю, это должно помочь с моими запросами, он же мне наоборот говорит о том, что использование оперативки слишком большое, хотя там менее половины доступной в Active.
__________________
Рекомендую только то, чем сам пользуюсь давно и успешно: .ru по 88 р.
Самый выгодный WAP-click, лучший конверт, единственные кто: 1) Выкупает 100% пдп 2) Оставляет их на балансе(кредит)
CPA - это AD1, сотни активных офферов.
mantius вне форума   Ответить с цитированием
Старый 11.11.2015, 21:46   #25
mantius
BB$
 
Аватар для mantius
 
Регистрация: 24.07.2011
Адрес: Под мостом
Сообщений: 5,555
Репутация: 2263
По умолчанию

Вообще в шоке над оптимайзером этим, решил попробовать порешать проблемы, сделал оптимизацию всех таблиц - всё равно пишет предупреждение: Run OPTIMIZE TABLE to defragment tables for better performance
Перезапустил мускул - всё равно жалуется. Ладно, хрен с ним, предлагает увеличить query_cache_size (>= 8M), но при этом пишет: [!!] Query cache is disabled, в конфиге вообще 32M стоит, хотя на деле он вообще не нужен так как база большая, постоянно обновляется, никакого смысла в этом кэше, зачем он постоянно советует его увеличивать до бесконечности?
__________________
Рекомендую только то, чем сам пользуюсь давно и успешно: .ru по 88 р.
Самый выгодный WAP-click, лучший конверт, единственные кто: 1) Выкупает 100% пдп 2) Оставляет их на балансе(кредит)
CPA - это AD1, сотни активных офферов.
mantius вне форума   Ответить с цитированием
Старый 11.11.2015, 22:47   #26
webrum
BB$
 
Регистрация: 30.04.2013
Сообщений: 224
Репутация: 130
По умолчанию

Я, используя советы mysqltuner, смог поднять производительность БД в несколько раз. Правда почти все его советы обычно - это еще больше памяти под разные кэши. У меня на серваке 32Гб, очень тяжелые сайты с гигабайтными таблицами просто летают.

Если советует сделать OPTIMIZE TABLE, то думаю, что нужно попробовать. Это отдельная sql-команда. Запускать лучше в консоли, т.к. выполняться может очень долго.

И еще, я не все его советы применил 1 в 1. Как только добился приемлемой производительности, так сразу закончил оптимизацию.
webrum вне форума   Ответить с цитированием
Старый 12.11.2015, 10:43   #27
mantius
BB$
 
Аватар для mantius
 
Регистрация: 24.07.2011
Адрес: Под мостом
Сообщений: 5,555
Репутация: 2263
По умолчанию

Цитата:
Если советует сделать OPTIMIZE TABLE, то думаю, что нужно попробовать. Это отдельная sql-команда. Запускать лучше в консоли, т.к. выполняться может очень долго.
Я же написал:
Цитата:
сделал оптимизацию всех таблиц - всё равно пишет предупреждение: Run OPTIMIZE TABLE to defragment tables for better performance
Перезапустил мускул - всё равно жалуется
__________________
Рекомендую только то, чем сам пользуюсь давно и успешно: .ru по 88 р.
Самый выгодный WAP-click, лучший конверт, единственные кто: 1) Выкупает 100% пдп 2) Оставляет их на балансе(кредит)
CPA - это AD1, сотни активных офферов.
mantius вне форума   Ответить с цитированием
Старый 14.11.2015, 19:22   #28
mantius
BB$
 
Аватар для mantius
 
Регистрация: 24.07.2011
Адрес: Под мостом
Сообщений: 5,555
Репутация: 2263
По умолчанию

Не особо помогло увеличение кэша - точно также только несколько часов нормально работают(даже если содержимое ответов меняется) запросы, а потом индексы выкидывает из кеша и первый запрос очень долго длится пока с диска чтение идёт. Есть идеи?
__________________
Рекомендую только то, чем сам пользуюсь давно и успешно: .ru по 88 р.
Самый выгодный WAP-click, лучший конверт, единственные кто: 1) Выкупает 100% пдп 2) Оставляет их на балансе(кредит)
CPA - это AD1, сотни активных офферов.
mantius вне форума   Ответить с цитированием
Старый 14.11.2015, 23:50   #29
Spin
BB$
 
Регистрация: 09.01.2015
Сообщений: 322
Репутация: 199
Smile

Цитата:
Сообщение от mantius Посмотреть сообщение
Не особо помогло увеличение кэша - точно также только несколько часов нормально работают(даже если содержимое ответов меняется) запросы, а потом индексы выкидывает из кеша и первый запрос очень долго длится пока с диска чтение идёт. Есть идеи?
"LOAD INDEX INTO CACHE" пробовал?

Если помогает единовременно, а потом опять сливаться будет, то можно просто регулярно запланировать.

Ну и оставляю предыдущий совет по использованию Percona Server MySQL, так как есть дополнительные опции.
Spin вне форума   Ответить с цитированием
Старый 15.11.2015, 00:19   #30
mantius
BB$
 
Аватар для mantius
 
Регистрация: 24.07.2011
Адрес: Под мостом
Сообщений: 5,555
Репутация: 2263
По умолчанию

Цитата:
Сообщение от Spin Посмотреть сообщение
"LOAD INDEX INTO CACHE" пробовал?

Если помогает единовременно, а потом опять сливаться будет, то можно просто регулярно запланировать.

Ну и оставляю предыдущий совет по использованию Percona Server MySQL, так как есть дополнительные опции.
Не, не пробовал, вообще первый раз вижу такую команду. Большое спасибо, сейчас запустил, потестирую и отпишусь. Кеширование сразу по завершению запроса уже окончено или может какое-то время продолжаться? Просто для всех таблиц запрос занял секунд 5 может при объёме индексов в 2 гигабайта - некоторые особо медленные запросы из этой же базы в несколько раз дольше выполняются из-за чтения с диска.
__________________
Рекомендую только то, чем сам пользуюсь давно и успешно: .ru по 88 р.
Самый выгодный WAP-click, лучший конверт, единственные кто: 1) Выкупает 100% пдп 2) Оставляет их на балансе(кредит)
CPA - это AD1, сотни активных офферов.

Последний раз редактировалось mantius; 15.11.2015 в 00:29.
mantius вне форума   Ответить с цитированием
Ответ

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Текущее время: 10:36. Часовой пояс GMT.


Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2018, vBulletin Solutions, Inc. Перевод: zCarot