- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Тренды маркетинга в 2024 году: мобильные продажи, углубленная аналитика и ИИ
Экспертная оценка Адмитад
Оксана Мамчуева
В 2023 году Одноклассники пресекли более 9 млн подозрительных входов в учетные записи
И выявили более 7 млн подозрительных пользователей
Оксана Мамчуева
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
интересуют альтернативные способы хранения данных, кроме MySQL...
В файлах.. В памяти..
В MySQL есть полнотекстовый поиск.
Сфинкс отдает ID найденных документов,
А LIKE тогда зачем??? =)
В Sphinx имеет смысл переехать так, чтобы избавиться от LIKE в запросах к MySQL.. В крайнем случае, чтобы он возвращал ID-шники документов, а выборка в MySQL была бы Where id IN (1,2,3). В вашем же случае:
# Rows_examined: 9632393
И эм.. откуда информация, что id документов:
Что мешает кешить результаты выполнения запроса. И делать что-то вроде
if ($result = $memcache->get(md5($sql))){
return $result;
} else {
mysql_query($sql);
...
}
Имея 3 сервера под базу, думаю вы можете себе позволить выделить 3-5 гб под мемкеш
В файлах.. В памяти..
В MySQL есть полнотекстовый поиск.
в InnoDB нету, а у ТС именно оно
Что мешает кешить результаты выполнения запроса. И делать что-то вроде
if ($result = $memcache->get(md5($sql))){
return $result;
} else {
mysql_query($sql);
...
}
Имея 3 сервера под базу, думаю вы можете себе позволить выделить 3-5 гб под мемкеш
От кеширования запросов сразу откажусь... для каждого юзера формируется список форумов к которым есть(или нет) доступа. этот список вставляется в каждый запрос, при выборке форумов или топиков, кроме того, все временные данные сохраняются в сесииях, которые IPB хранит как ни странно в базе, при запросе страницы делает SELECT * FROM ipb_sessions WHERE key='MD5(сессия из куки)'; и перед отдачей контента, UPDATE данных в таблице сессий... на этом работает весь форум, кто просматривает тему, форум, кто на сайте, и т.д. Сама таблица перенесена в MEMORY... хотя это и не самый тяжелый запрос, и время его выполнения менее 1 тысячной секунды...
на данный момент в мемкеш кешируется почти все, что не нарушает работу форума...
в InnoDB нету, а у ТС именно оно
Раньше тексты можно было вынести в отдельную myisam-таблицу (хотя, сфинкс, на мой взгляд, предпочтительнее), сейчас не обязательно
http://dev.mysql.com/doc/refman/5.6/en/innodb-table-and-index.html#innodb-fulltext-index
ngsv, я правильно понимаю, что основной трабл с поиском? Или?
в InnoDB нету, а у ТС именно оно
с некоторых пор есть и у innodb. Но врядли это поможет ТС, если он и так путается .
Раньше тексты можно было вынести в отдельную myisam-таблицу (хотя, сфинкс, на мой взгляд, предпочтительнее), сейчас не обязательно
http://dev.mysql.com/doc/refman/5.6/en/innodb-table-and-index.html#innodb-fulltext-index
ngsv, я правильно понимаю, что основной трабл с поиском? Или?
Основной трабл вообще с мускулом... На один форум с просмотрами страниц - пол лимона в сутки работают 3 фронтенда и 3 мускул сервера не самых слабых конфигураций... Это нормально? А что дальше? на сколько резиновый MySQL? Нагрузка растет в геометрической прогрессии, и пока не поздно нужно что то делать сейчас...
на сколько резиновый MySQL?
В литературе считается, что конфигурации master/slave производительности добавляют далеко не линейно. Это типа общее наблюдение.
А вот конкретика может быть обратной. Жаль, что вы никак не займетесь этой конкретикой.
нужно что то делать сейчас...
И за советом, "что же делать" Вы пришли на форум?
Прошу не обижаться, но, судя по настройке сфинкса, Вашим фразам и цитате из первого поста, "просто совет" Вам не поможет, ибо реализован он может быть так же, как и "переезд на сфинкс". И, видимо, я не одинок:
Но врядли это поможет ТС, если он и так путается .
Возможно, имеет смысл выделить средства хотя бы на консультацию специалиста по конкретно Вашей ситуации..
Жаль, что вы никак не займетесь этой конкретикой.
:)
По-взрослому, с анализом графиков/логов/скриптов и составлением детальных рекомендаций (в идеале, не просто рекомендаций, а полностью "комплекса работ по оптимизации").. возможно, в несколько подходов..
Со временем, экономия на серверах может отбить стоимость разовых услуг.. А в случае развития проекта - не исключено, что сделает возможным это развитие и вообще, существование проекта в принципе..