У меня там nginx+apache, вот когда до 30 load average заметил в top - перезапустил apache, load average вниз пошёл до 6-7, а потом опять до 30 поднялся.
Спасибо, только логи отключены были, теперь включил. Буду за логами apache следить.
Всем большое спасибо за помощь.
Также обращался к Николаю за обменом моих WMR на рубли ВТБ24 через wire. Всё отлично. Ответственный и приятный в общении человек. Теперь по обменам WM буду обращаться только к Николаю.
Jet D., спасибо за спец. тариф.
Буду переносить Ru домены в Reghouse.
Из плюсов:
Цена: 88руб. за регистрацию и продление для пользователей searchengines.guru.
Удобная панелька, есть функция автопродления доменов, скрытие whois, безбумажная передача доменов.
Установите, пожалуйста, тариф 85р. на логин A/96974/7826
edogs, TF-Studio, спасибо, но улучшить сам алгоритм скорее всего реально, если отказаться от морфологии или делать запрос с несколькими подзапросами, используя Fulltext, но это не подходит. Уже столько всего перепробовал, даже Solr пробовал. Посмотрим что будет, как перенесу всё на SSD.
babnicks, но ведь нагрузка 1.2Мбайт/c идёт именно от процесса MySQL, значит он читает блоки, но обычный винчестер не может читать маленькие блоки (4кб) скоростью выше 1Мбайт/c, потому всё скорее всего и упирается в скорость чтения этих блоков. У SSD она выше, около 30Мбайт/c.
Добавил в конфиг join_buffer_size 1.5 Gb, key_buffer_size изменил до 1.5 Gb
Скорость выборки осталась на прежнем уровне :(
Милованов Ю.С, немного совсем, 40мб. Как определить сваливает он на винчестер или нет не знаю, но тип базы Memory, таблица должна в оперативную память грузиться поидее. Но скорее всего это не влияет на скорость запроса, ведь главная база FULL, с которой джойнится временная, находится на винчестере.
Я вот чего не понимаю: почему в EXPLAIN запроса не показано что используется Primary Key во временной таблице tmp?
ivan-lev, пробовал указывать поле name как аттрибут в сфинксе. Но столкнулся с множеством проблем. Сфинкс не может делать индексы с атрибутами размером более 4Гб, приходилось базу делить на несколько частей по 4Гб и делать каждой индекс. Ещё проблема - не хватает памяти для всех индексов. Дело в том, что индекс с аттрибутом грузится в память, а размер индексов выходит 50гб, т.е. нужно 50гб памяти для сфинкс, либо создавать 5 конфигураций сфинкса и подгружать индексы по отдельности что совсем неудобно. Либо собирать новый ПК с 64гб памяти.
TF-Studio, почему SSD поможет не сильно? По моим прикидкам прирост в скорости должен быть раз так в 10-20. Вам ведь SSD помог? Или у вас была иная задача? Выборки значительно ускорились?
Заказал SSD, перенесу туда БД. Надеюсь что прирост в скорости будет раз в 10. Если во время выполнения запроса смотреть скорость чтения с винчестера, процесс mysql считывает со скоростью 1.2МБайта. Значит на SSD скорость должна быть около 25-30Мбайт, это даже в 20 раз быстрее. Посмотрим что получится в итоге :)
Всем спасибо.
Если у кого есть идеи по оптимизации запроса или тюнингу конфига MySQL, буду очень благодарен.
нет, обычным запросом через api сфинкса по его индексу.
15 секунд
пробовал, медленнее работает, пробовал Fulltext без морфологии и пробовал tsearch fts в Postgresql
Спасибо, попробую сейчас дефрагментацию.
А вообще прирост при использовании SSD большой будет? Или не более 2-3 раза?
Пробовал разбивать, но быстрее не стало.
Может кто подскажет как такой запрос ещё оптимизировать можно:
select sql_no_cache name from tmp left join full on tmp.id=full.id into outfile 'c:/full.txt';
Или в конфигурации MySQL что-то поправить для ускорения?