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
Благодарил(а): 52 раз(а)
Поблагодарили: 122 раз(а) в 65 сообщениях
Репутация: 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,551
Благодарил(а): 1,423 раз(а)
Поблагодарили: 2,277 раз(а) в 1,221 сообщениях
Репутация: 2263
По умолчанию

Цитата:
Сообщение от int_main Посмотреть сообщение
Я чет не догоняю, у тебя составные индексы? Сделай отдельный индекс по var если его нету.
Всё верно - косяк был в составных индексах, сделал отдельными и теперь летает, большое спасибо всем за помощь!
__________________
Рекомендую только то, чем сам пользуюсь давно и успешно: [Только зарегистрированные пользователи могут видеть ссылки. Нажмите Здесь для Регистрации]
[Только зарегистрированные пользователи могут видеть ссылки. Нажмите Здесь для Регистрации]
CPA - это [Только зарегистрированные пользователи могут видеть ссылки. Нажмите Здесь для Регистрации], сотни активных офферов.
mantius вне форума   Ответить с цитированием
Старый 07.11.2015, 18:44   #18
MaximuS
Модератор
 
Аватар для MaximuS
 
Регистрация: 22.02.2012
Сообщений: 715
Благодарил(а): 297 раз(а)
Поблагодарили: 244 раз(а) в 147 сообщениях
Репутация: 592
По умолчанию

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

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

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

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

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

Теперь новая беда: некоторые запросы, которые редко используются, через сутки начинают тупить при первых запросах и грузить уже диск на 100%. Как я понимаю, где-то не хватает кэша, подскажите, в сторону какой переменной копать?
__________________
Рекомендую только то, чем сам пользуюсь давно и успешно: [Только зарегистрированные пользователи могут видеть ссылки. Нажмите Здесь для Регистрации]
[Только зарегистрированные пользователи могут видеть ссылки. Нажмите Здесь для Регистрации]
CPA - это [Только зарегистрированные пользователи могут видеть ссылки. Нажмите Здесь для Регистрации], сотни активных офферов.
mantius вне форума   Ответить с цитированием
Старый 11.11.2015, 20:48   #23
webrum
BB$
 
Регистрация: 30.04.2013
Сообщений: 224
Благодарил(а): 52 раз(а)
Поблагодарили: 122 раз(а) в 65 сообщениях
Репутация: 130
По умолчанию

[Только зарегистрированные пользователи могут видеть ссылки. Нажмите Здесь для Регистрации]
webrum вне форума   Ответить с цитированием
Старый 11.11.2015, 21:01   #24
mantius
BB$
 
Аватар для mantius
 
Регистрация: 24.07.2011
Адрес: Под мостом
Сообщений: 5,551
Благодарил(а): 1,423 раз(а)
Поблагодарили: 2,277 раз(а) в 1,221 сообщениях
Репутация: 2263
По умолчанию

Цитата:
Сообщение от webrum Посмотреть сообщение
[Только зарегистрированные пользователи могут видеть ссылки. Нажмите Здесь для Регистрации]
Не нравится он мне что-то, пробовал уже на двух серверах - рекомендаций вагон, но польза от них сомнительна. Например, query_cache_size он до бесконечности предлагает увеличивать, даже когда значения ставлю уже за гранью разумного ему всё мало. Сейчас увеличил значительно(до 2.5 гб) key_buffer_size и sort_buffer_size, чтобы в них помещались целиком все индексы, как я представляю, это должно помочь с моими запросами, он же мне наоборот говорит о том, что использование оперативки слишком большое, хотя там менее половины доступной в Active.
__________________
Рекомендую только то, чем сам пользуюсь давно и успешно: [Только зарегистрированные пользователи могут видеть ссылки. Нажмите Здесь для Регистрации]
[Только зарегистрированные пользователи могут видеть ссылки. Нажмите Здесь для Регистрации]
CPA - это [Только зарегистрированные пользователи могут видеть ссылки. Нажмите Здесь для Регистрации], сотни активных офферов.
mantius вне форума   Ответить с цитированием
Старый 11.11.2015, 21:46   #25
mantius
BB$
 
Аватар для mantius
 
Регистрация: 24.07.2011
Адрес: Под мостом
Сообщений: 5,551
Благодарил(а): 1,423 раз(а)
Поблагодарили: 2,277 раз(а) в 1,221 сообщениях
Репутация: 2263
По умолчанию

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

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

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

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

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

Не особо помогло увеличение кэша - точно также только несколько часов нормально работают(даже если содержимое ответов меняется) запросы, а потом индексы выкидывает из кеша и первый запрос очень долго длится пока с диска чтение идёт. Есть идеи?
__________________
Рекомендую только то, чем сам пользуюсь давно и успешно: [Только зарегистрированные пользователи могут видеть ссылки. Нажмите Здесь для Регистрации]
[Только зарегистрированные пользователи могут видеть ссылки. Нажмите Здесь для Регистрации]
CPA - это [Только зарегистрированные пользователи могут видеть ссылки. Нажмите Здесь для Регистрации], сотни активных офферов.
mantius вне форума   Ответить с цитированием
Старый 14.11.2015, 23:50   #29
Spin
BB$
 
Регистрация: 09.01.2015
Сообщений: 322
Благодарил(а): 19 раз(а)
Поблагодарили: 189 раз(а) в 139 сообщениях
Репутация: 199
Smile

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

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

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

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

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

Ну и оставляю предыдущий совет по использованию Percona Server MySQL, так как есть дополнительные опции.
Не, не пробовал, вообще первый раз вижу такую команду. Большое спасибо, сейчас запустил, потестирую и отпишусь. Кеширование сразу по завершению запроса уже окончено или может какое-то время продолжаться? Просто для всех таблиц запрос занял секунд 5 может при объёме индексов в 2 гигабайта - некоторые особо медленные запросы из этой же базы в несколько раз дольше выполняются из-за чтения с диска.
__________________
Рекомендую только то, чем сам пользуюсь давно и успешно: [Только зарегистрированные пользователи могут видеть ссылки. Нажмите Здесь для Регистрации]
[Только зарегистрированные пользователи могут видеть ссылки. Нажмите Здесь для Регистрации]
CPA - это [Только зарегистрированные пользователи могут видеть ссылки. Нажмите Здесь для Регистрации], сотни активных офферов.

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

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

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

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

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


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


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