Trol

Рейтинг
82
Регистрация
28.06.2007

У меня там nginx+apache, вот когда до 30 load average заметил в top - перезапустил apache, load average вниз пошёл до 6-7, а потом опять до 30 поднялся.

kgtu5:
вероятно небольшие ддосы идут, посмотрите какие логи сильно разрастаются и проанализируйте их

Спасибо, только логи отключены были, теперь включил. Буду за логами 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, буду очень благодарен.

Милованов Ю.С:
С помощью сфинкса получаете нужные АйДишники лайком?
Ну типа SELECT id FROM FULL where name like '%колеса%'

нет, обычным запросом через api сфинкса по его индексу.

Милованов Ю.С:
Сколько у сфинкса уходит на выборку?

15 секунд

Милованов Ю.С:

Что если попробывать без сфинкса? Чтобы сразу была выборка имя и запись в файл.

пробовал, медленнее работает, пробовал Fulltext без морфологии и пробовал tsearch fts в Postgresql

Милованов Ю.С:

Ну и попробуйте сделать дефрагментацию жесткого диска. Это должно помочь немного/много(в зависимости от текущего состояния винта).
Еще можно попробовать перенести базу на жесткий диск размером скажем 100ГБ, чтобы было место в запасе, но и чтобы его было не сильно много(то есть если по диску фрагменты раскиданы, то хотя бы не сильно далеко друг от друга)

Спасибо, попробую сейчас дефрагментацию.

А вообще прирост при использовании SSD большой будет? Или не более 2-3 раза?

Пробовал разбивать, но быстрее не стало.

Может кто подскажет как такой запрос ещё оптимизировать можно:

select sql_no_cache name from tmp left join full on tmp.id=full.id into outfile 'c:/full.txt';

Или в конфигурации MySQL что-то поправить для ускорения?

Всего: 233