PHP\MySQL Акселераторы

[Удален]
#11

Andreyka, ноль

N
На сайте с 06.05.2007
Offline
419
#12

Andreyka, бредовый вопрос. вы должны понимать что и 50 запросов не помеха, если они очень простые и кешируются самим mysql. Конечно, однажды наступит момент, когда накладные расходы mysql станут значимым, но к тому времени большинство обзаводятся постоянным админом и задают тупые вопросы за деньги.

Кнопка вызова админа ()
zzeus
На сайте с 04.01.2008
Offline
74
#13
neolord:
Еще есть APC (не советую) и eAccelerator (советую). С помощью них можно частично и мускл ускорить, точнее работу с ним пхп - кешируя результаты запросов, которые в пул уже не поместились. Но эт нужно пошевелить головой и обернуть mysql_query своей функцией

Вы сейчас несете откровенный бред.

APC (Советую) как и eAccelerator не ускоряют работу php c mysql. Они кешируют скомпилированный код.

Для ускореня взаимодействия с БД используют memcached - эта штуковина уже кеширует запросы

[Удален]
#14

Это вы так свой сайт пиарите? =)

В таком случае вы должны знать что оба этих продукта, как и XCache позволяют кешировать не только оп.код но и произвольные значения, в том числе и результаты запросов (представленные в пхп-удобоваримом виде конечно, например массивы).

А APC я не советую потому что он по большинству различных сравнительных тестов показывает худшие результаты. Еще и крашится периодически (впрочем, этим они все грешат)

Kashey
На сайте с 10.07.2007
Offline
36
#15

Советую eAcc или XCache

APC НЕ советую. Был опыт работы с ним, при активной работе мгновенно фрагментируется и крашиться.

PHP кешеды занимаются кешированием промежуточного кода, если вырубить у них "checkmtime" то однажды загрузив байткод скрипта в память они более на диск лазить не будут.

Иногда это дает фантастический буст ( рефреш скриптов по хнопочке )

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

Много памяти выделить нельзя(более того вредно)

Обычные сайты работать будут влет, а вот если у вас не один сервер обработки запросов либо колво данных что вы хотите закешировать выходить за некие пределы - поздоровайтесь с мемкешед.

Он хранит только данные, доступ до кешеда сетевой, посему работает на порядок медленее чем нативные кешеды пхп(APC,eAcc,XCache) но.. может хранить любой размер данных на любом колве железяк...

Kashey добавил 13.02.2009 в 10:05

Акселераторы MySQL тоже сушествуют

Называются либо SQL проксями, либо SQL Slavеами

Но это уже реально хардкор и работает чиста на шардинге базы данных на несколько компов..

Лучше в начале кешеруйте вывод элементов на сайте, а когда у вас будет под поллимона челубреков в день - тогда переходите к базе данных

Ну либо просто купите нормальный ясчег

И все же мы все соседи (http://www.esosedi.ru)
Andreyka
На сайте с 19.02.2005
Offline
822
#16
netwind:
Andreyka, бредовый вопрос. вы должны понимать что и 50 запросов не помеха, если они очень простые и кешируются самим mysql. Конечно, однажды наступит момент, когда накладные расходы mysql станут значимым, но к тому времени большинство обзаводятся постоянным админом и задают тупые вопросы за деньги.

Понятно.

Правильный ответ озвучен постом выше.

Если бы разработчики хабра следовали Вашей идеологии и при главной вызывали 50 запросов mysql - у них бы сейчас был целый ДЦ с кучей админов :)

Не стоит плодить сущности без необходимости
N
На сайте с 06.05.2007
Offline
419
#17

Andreyka, ну мне что, опять написать программу, которая покажет вам 5K qps ? :)

факт на лице : в mysql есть query_cache и он работает, причем даже раньше парсинга sql.

кешировать запросы в унылых варезных ГС практически бессмысленно. лучше кешировать полностью готовые элементы html страниц.

O
На сайте с 13.08.2008
Offline
26
#18
netwind:
Andreyka, ну мне что, опять написать программу, которая покажет вам 5K qps ? :)
факт на лице : в mysql есть query_cache и он работает, причем даже раньше парсинга sql.

Я вам страшное скажу.

query_cache работает хреново :-)

Если я на машине с 8k qps включаю query_cache - qps падает до 3-5k, вагон локов в базе, крах, крушение всех надежд ;-)

Выключаю - все опять хорошо.

Причины объяснять надо? :-)

Outsourcenow.ru: оттюним ваш веб-сервер. 100 млн. запросов в сутки - наш размерчик!
N
На сайте с 06.05.2007
Offline
419
#19

Outsourcenow, надо. у вас, видимо, приложение специфическое.

O
На сайте с 13.08.2008
Offline
26
#20
netwind:
Outsourcenow, надо. у вас, видимо, приложение специфическое.

query_cache внутри - простой, как молоток. Фактически, это просто хэш в памяти, где ключем выступает строка запроса.

Поэтому реальный плюс от него - только в запросах вида "select * from table;". Более того, запрос "select id from table where name="asdf";" и "SELECT id from table where name="asdf";" - это разные запросы.

Что еще веселее - оно кэшиурет запросы "select ... where dtime = now();". Учитывая, что сам кэш - fifo - это офигительно сказывается на КПД :-)

Да, в проектах "домашняя страничка василия пупкина" это работает прекрасно. Если же у вас идеологически верная архитектура, и правильно спроектированная БД - то query_cache не поможет, а только навредит.

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