- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу

Что делать, если ваша email-рассылка попала в спам
10 распространенных причин и решений
Екатерина Ткаченко

В 2023 году Одноклассники пресекли более 9 млн подозрительных входов в учетные записи
И выявили более 7 млн подозрительных пользователей
Оксана Мамчуева
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Доброго времени суток.
На выделенном сервере работает 6 высоконагруженных сайтов.
Размер баз данных - 2.4гига
Оговорюсь сразу: сайты в плане запросов к БД работают отлично, стандартные запросы отрабатывают моментально.
На сайтах постоянно выполняется сложный SELECT запрос (фактически, поиск словосочетания по всей базе - упростить его, к сожалению, не представляется возможным).
Как результат - ооооочень медленный запрос (1-2 сек.) вместо привычных 0,1-0,2сек.
Задался целью - решил загнать все базы данных в оперативу сервера (квад-коре, 8гиг оперативы, Дебиан, 500гиг винт).
Нагуглил мануал http://forum.lafox.net/index.php?showtopic=19002
Сделал всё как положено/написано.
Результат - как было, так и осталось :( БД тупят по прежнему - т.е., нет разницы, работает ли мускуль с диска или с оперативы (tmpfs).
Господа, подскажите, какими методами можно ускорить работу mysql-сервера? (кеши и прочая чепуха отстроены нормально).
P.S. варианты типа "сменить сервер" не рассматриваются.
535i, переведи данные в innodb, подними лимиты innodb и само все загонится. Для более быстрого прогрева можно запустить какой-нибудь читающий все строки запрос.
Это принципиально лучше, чем tmpfs, так как исключает межпроцессный обмен данными. Все уже находится внутри innodb pool. К сожалению, может потребоваться больше памяти чем при использовании myisam.
Остальные варианты сложны и непрактичны.
Но раз уж tmpfs не помог, то и этот способ точно не улучшит скорость на порядки.
Я так понимаю, речь идет о текстовом поиске по базе (типа LIKE)? Может, имеет смысл сделать таблицу с хешами лемматизированного текста и искать, соответственно, по ним хеш с леммы запроса, не?
Использовать для поиска сфинкс и всё будет летать
Вообще могу подсказать людей, которые платно сделают тебе счастье, оптимизируют параметры, базу, запросы и тп
для вас подойдет sphinx
не надо танцев с бубном, сразу все проблемы проподут
ps:
по моим критериям это не мало... а скорее даже много, не очень но много
ткните носом в примеры прикручивания сфинкса к двигу дле
Вообще-то, в dle и так уже есть полнотекстовый поиск. И он не сильно медленнее чем sphinx в масштабах обычного сайта. По крайней мере ускоряет поиск по сайту.
Вы кнопочки-то в админке тыкали?
netwind, и не только кнопочки :)
Попытаюсь немного пролить свет: стандартный поиск в ДЛЕ по ооочень большой базе. Работает крайне медленно по сравнению с остальной частью сайта. Вот и ищется решение.
535i добавил 20.01.2011 в 23:46
Дополню:
ДЛЕ при стандартном поиске использует конструкцию
в мануалах к мускулю сказано, что "В команде величина LIKE начинается с шаблонного символа..." (т.е., знак процента "%") и как результат "команды SELECT не будут использовать индексы" :( :( (а они то есть, только тупо не используются из-за особенности мускуля).
поэтому вся затыка - как я уже писал, база огромная, траф большой.
даже если кешировать результаты поиска в кеше мускуля - этого на долго не хватает (любой INSERT вычищает кеш).
в общем, ищется РЕШЕНИЕ.
535i, так стандартный DLE с использованием LIKE или полнотекстовый с использованием MATCH .. AGAINST ? там можно задать два типа в админке. Запросы покажите, я скажу какой именно используется у вас.
А то sphinx - дело хлопотное. И полнотекстовый поиск в mysql не настолько плох, как о нем думают.
netwind,
этот
535i, LIKE видите? Это обычный поиск. Он перебирает и сравнивает все записи.
Жмите кнопочки в админке, переключайте тип поиска. Должна быть поменьше нагрузка.
Не могу точно сказать за DLE, возможно, он продолжит формировать подобные запросы с LIKE, но уже не в поиске, а в других местах.
Если там встречаются часто используемые слова, то их можно внести в специальный список стоп-слов и переиндексировать с помощью REPAIR TABLE. Индекс станет меньше, а скорость поиска больше. Поиск по таким словам не выдаст ничего. Подробности в документации к утилите myisam_ftdump.
Совет с innodb пока отпадает. Sphinx действительно хорош, но с ним больше возни.