Разгрузка ИТ инфраструктуры

1 23
IL
На сайте с 20.04.2007
Offline
435
#21
ngsv:
интересуют альтернативные способы хранения данных, кроме MySQL...

В файлах.. В памяти..

В MySQL есть полнотекстовый поиск.

ngsv:
Сфинкс отдает ID найденных документов,

А LIKE тогда зачем??? =)

В Sphinx имеет смысл переехать так, чтобы избавиться от LIKE в запросах к MySQL.. В крайнем случае, чтобы он возвращал ID-шники документов, а выборка в MySQL была бы Where id IN (1,2,3). В вашем же случае:

# Rows_sent: 100
# Rows_examined: 9632393

И эм.. откуда информация, что id документов:

WHERE t.forum_id IN (399,2,3,610,621
... :) Облачные серверы от RegRu - промокод 3F85-3D10-806D-7224 ( http://levik.info/regru )
S5
На сайте с 04.01.2010
Offline
77
#22

Что мешает кешить результаты выполнения запроса. И делать что-то вроде

if ($result = $memcache->get(md5($sql))){

return $result;

} else {

mysql_query($sql);

...

}

Имея 3 сервера под базу, думаю вы можете себе позволить выделить 3-5 гб под мемкеш

bukachuk
На сайте с 07.09.2008
Offline
97
#23
ivan-lev:
В файлах.. В памяти..
В MySQL есть полнотекстовый поиск.

в InnoDB нету, а у ТС именно оно

Программирование PHP,Mysql (/ru/forum/934470)
ngsv
На сайте с 12.10.2012
Offline
47
#24
sg552:
Что мешает кешить результаты выполнения запроса. И делать что-то вроде
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 тысячной секунды...

на данный момент в мемкеш кешируется почти все, что не нарушает работу форума...

SIQWELL (http://siqwell.com/) - Быстро. Качественно. Дорого.
IL
На сайте с 20.04.2007
Offline
435
#25
bukachuk:
в InnoDB нету, а у ТС именно оно

Раньше тексты можно было вынести в отдельную myisam-таблицу (хотя, сфинкс, на мой взгляд, предпочтительнее), сейчас не обязательно

http://dev.mysql.com/doc/refman/5.6/en/innodb-table-and-index.html#innodb-fulltext-index

ngsv, я правильно понимаю, что основной трабл с поиском? Или?

N
На сайте с 06.05.2007
Offline
419
#26
bukachuk:
в InnoDB нету, а у ТС именно оно

с некоторых пор есть и у innodb. Но врядли это поможет ТС, если он и так путается .

Кнопка вызова админа ()
ngsv
На сайте с 12.10.2012
Offline
47
#27
ivan-lev:
Раньше тексты можно было вынести в отдельную myisam-таблицу (хотя, сфинкс, на мой взгляд, предпочтительнее), сейчас не обязательно
http://dev.mysql.com/doc/refman/5.6/en/innodb-table-and-index.html#innodb-fulltext-index

ngsv, я правильно понимаю, что основной трабл с поиском? Или?

Основной трабл вообще с мускулом... На один форум с просмотрами страниц - пол лимона в сутки работают 3 фронтенда и 3 мускул сервера не самых слабых конфигураций... Это нормально? А что дальше? на сколько резиновый MySQL? Нагрузка растет в геометрической прогрессии, и пока не поздно нужно что то делать сейчас...

N
На сайте с 06.05.2007
Offline
419
#28
ngsv:
на сколько резиновый MySQL?

В литературе считается, что конфигурации master/slave производительности добавляют далеко не линейно. Это типа общее наблюдение.

А вот конкретика может быть обратной. Жаль, что вы никак не займетесь этой конкретикой.

IL
На сайте с 20.04.2007
Offline
435
#29
ngsv:
нужно что то делать сейчас...

И за советом, "что же делать" Вы пришли на форум?

Прошу не обижаться, но, судя по настройке сфинкса, Вашим фразам и цитате из первого поста, "просто совет" Вам не поможет, ибо реализован он может быть так же, как и "переезд на сфинкс". И, видимо, я не одинок:

netwind:
Но врядли это поможет ТС, если он и так путается .

Возможно, имеет смысл выделить средства хотя бы на консультацию специалиста по конкретно Вашей ситуации..

netwind:
Жаль, что вы никак не займетесь этой конкретикой.

:)

По-взрослому, с анализом графиков/логов/скриптов и составлением детальных рекомендаций (в идеале, не просто рекомендаций, а полностью "комплекса работ по оптимизации").. возможно, в несколько подходов..

Со временем, экономия на серверах может отбить стоимость разовых услуг.. А в случае развития проекта - не исключено, что сделает возможным это развитие и вообще, существование проекта в принципе..

1 23

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий