уменьшить нагрузку слейвов на мастера

serge
Posts: 930
Joined: Mon Mar 14, 2011 7:53 am

Re: уменьшить нагрузку слейвов на мастера

Post by serge »

admin wrote:Теоретически возможно все.
А практически? :) если эту фичу внедрить и применить к сайту, где, например, более 100,000 кастомных пикс галер, на вскидку, это ощутимо разгрузит систему?
admin
Site Admin
Posts: 38004
Joined: Wed Sep 10, 2008 11:43 am

Re: уменьшить нагрузку слейвов на мастера

Post by admin »

Нет, эти галеры и так создаются 1 раз и кладуться в кеш вообщем-то в виде html файла.
Можете взять любую кастом галеру и напустить на нее apache benchmark - увидите насколько быстро они раздаются.
Don't forget to run script update
serge
Posts: 930
Joined: Mon Mar 14, 2011 7:53 am

Re: уменьшить нагрузку слейвов на мастера

Post by serge »

admin wrote:Нет, эти галеры и так создаются 1 раз и кладуться в кеш вообщем-то в виде html файла.
Можете взять любую кастом галеру и напустить на нее apache benchmark - увидите насколько быстро они раздаются.
вчера были проблемы с нагрузкой... (LA подскочил с 5 секунд до 40), база периодически не видна была... В админке CouchBase показывалось, что CPU 99%, RAM 99%... При попытке открыть галеру (прямой линк) браузер долго думал, прежде чем она открывалась... Вобщем сайт какое-то время не открывался или тормозил... прода обрушилась сразу же... Кэш получается тоже может быть уязвимым местом при таких раскладах. Если бы открывались хотя бы галереи, то в моем случае, это было бы очень важным моментом (трафик на них идет из внешних источников и они бы не пострадали, оставшись без контента по факту)... Да и по большому счету зачем мне использовать кэш? (ну в моем случае)... html галереи весит килобайт 5... при наличии, скажем, 100к галер это всего 500мб...
serge
Posts: 930
Joined: Mon Mar 14, 2011 7:53 am

Re: уменьшить нагрузку слейвов на мастера

Post by serge »

хотя нет, на счет кэша, все же я наверное прогоняю... при больших объемах трафика диски будут перегружены и тут он спасает... тогда другой вопрос, вот взять, скажем CouchBase, какой объем кластера нужно выделять? было 256МB вчера вот возникли грабли, я заменил на 512MB, сейчас вижу, что из них задействовано 432 и полет нормальный... получается проблема именно в этом была в моем случае? (пример на счет веса всех html галер навел меня на эти размышления ;) ) Админы про коуч ничего толком не знают, я вообще в этих делах не спец, предложил поднять, исключительно что случайно увидел в админке кауча, что 256 под завязку
admin
Site Admin
Posts: 38004
Joined: Wed Sep 10, 2008 11:43 am

Re: уменьшить нагрузку слейвов на мастера

Post by admin »

Это вопрос подхода.
Условно мы в магазине купили банку сока, положили ее в пакет, а пакет порвался и банка упала. И предложения - зачем нам эти пакеты, давайте будем банку сока домой катить, ведь если ее катить она точно никуда не упадет, правда очень неудобно, банка грязная станет и идти постоянно согнувшись проблема, но зато уж точно.
Мне кажется в этой ситуации дальновиднее разобраться в чем была проблема с пакетом, пофиксить его и идти нормально. За мою точку зрения голосует то что ни на одном сайте, включая тот где вы пишете не создается реальных файлов с темами например.

Размер зависит от кол-ва более менее активных данных, можно почитать общие слова про кауч что б примрено представлять как оно работает, не вникая в детали.
Don't forget to run script update
serge
Posts: 930
Joined: Mon Mar 14, 2011 7:53 am

Re: уменьшить нагрузку слейвов на мастера

Post by serge »

активные данные - это страницы к которым обращаются? на самом деле я прикинул, их очень много... помимо галерей есть еще тэги, в индексе гугла например в общей сложности указано более полутора миллионов страниц... а это уже, с учетом веса html, довольно серьезная цифра... пользователи конечно все не посещают, но к ним добавляются поисковые боты, т.е. обращений в сутки, думаю очень много... исходя из этого и 32 гигов рам может быть мало? как быть? один из вариантов, попробовать урезать обращения ботов в robots.txt... но это полумера
admin
Site Admin
Posts: 38004
Joined: Wed Sep 10, 2008 11:43 am

Re: уменьшить нагрузку слейвов на мастера

Post by admin »

Не все хранится в памяти для кауча, это не мемкеш.
лучше разбираться в том где тормоза и пытаться оптимизировать там.
Don't forget to run script update
serge
Posts: 930
Joined: Mon Mar 14, 2011 7:53 am

Re: уменьшить нагрузку слейвов на мастера

Post by serge »

"покурил" мануал каучбейса, поигрался с настройками... но все равно одни вопросы... например нужно выделить определенное кол-во рам памяти для кластера... но в мануале про это очень расплывчато написано, мол память это основное, но сколько ее выделять - все зависит от общего кол-ва памяти, от кол-ва кластеров, нодов, непосредственно потребления и так далее... Стояло там 256мб после сетапа админами кауча, я сперва поменял на 512мб, сейчас установил 4GB и вижу что 747мб "in use" - задействовано, выходит, что 512-ти было явно мало... но может быть при 32гб и 4 - мало... тут даже опытным путем трудно понять... при 4гб админка кауча показывает, что свободно примерно 13-15гб рам, при 512мб показывало, что свободно 18гб, может быть нужно вообще выставить по максимому, оставить свободным 2гб например?
couch.png
couch.png (51.96 KiB) Viewed 2186 times

разрыв на графике, это, как я понимаю, тот момент когда сайт не открывается...

Изначально я "грешил" на слейвов, что они перегружают, но походу просто есть некая пропускная способность по посетителям мастера, выше которой уже начинается LA под 40-50 и временами can't connect to mysql database вместо страниц. Т.е. грубо говоря 20-30к посетителей в час и все, уже начинает колбасить... 10-15к - полет нормальный. Может быть я вообще зря couch ковыряю и дело не в нем?
serge
Posts: 930
Joined: Mon Mar 14, 2011 7:53 am

Re: уменьшить нагрузку слейвов на мастера

Post by serge »

admin wrote:Не все хранится в памяти для кауча, это не мемкеш.
лучше разбираться в том где тормоза и пытаться оптимизировать там.
Нагрузку создает процесс mysql + apache

Очень много запросов такого вида:
| 77292 | mypornsite_scj | localhost | mypornsite_com_scj | Query | 15 | Sending data | select DISTINCT(g.id), g.gallery_md5, gs.total_shows as thumb_casts, gs.total_clicks as clicks, if |
| 77295 | mypornsite_scj | localhost | mypornsite_com_scj | Query | 17 | Sending data | select DISTINCT(g.id), g.gallery_md5, gs.total_shows as thumb_casts, gs.total_clicks as clicks, if |
| 77299 | mypornsite_scj | localhost | mypornsite_com_scj | Query | 16 | Sending data | select DISTINCT(g.id), g.gallery_md5, gs.total_shows as thumb_casts, gs.total_clicks as clicks, if |
| 77303 | mypornsite_scj | localhost | mypornsite_com_scj | Query | 13 | Sending data | select DISTINCT(g.id), g.gallery_md5, gs.total_shows as thumb_casts, gs.total_clicks as clicks, if |
| 77308 | mypornsite_scj | localhost | mypornsite_com_scj | Query | 18 | Sending data | select DISTINCT(g.id), g.gallery_md5, gs.total_shows as thumb_casts, gs.total_clicks as clicks, if |
| 77312 | mypornsite_scj | localhost | mypornsite_com_scj | Query | 18 | Sending data | select DISTINCT(g.id), g.gallery_md5, gs.total_shows as thumb_casts, gs.total_clicks as clicks, if |
| 77314 | mypornsite_scj | localhost | mypornsite_com_scj | Query | 15 | Sending data | select DISTINCT(g.id), g.gallery_md5, gs.total_shows as thumb_casts, gs.total_clicks as clicks, if |
| 77323 | mypornsite_scj | localhost | mypornsite_com_scj | Query | 13 | Sending data | select DISTINCT(g.id), g.gallery_md5, gs.total_shows as thumb_casts, gs.total_clicks as clicks, if |
| 77325 | mypornsite_scj | localhost | mypornsite_com_scj | Query | 11 | Sending data | select DISTINCT(g.id), g.gallery_md5, gs.total_shows as thumb_casts, gs.total_clicks as clicks, if |


или это ни о чем не говорит и нужно еще конкретнее разбираться?
admin
Site Admin
Posts: 38004
Joined: Wed Sep 10, 2008 11:43 am

Re: уменьшить нагрузку слейвов на мастера

Post by admin »

| 77292 | mypornsite_scj | localhost | mypornsite_com_scj | Query | 15 | Sending data | select DISTINCT(g.id), g.gallery_md5, gs.total_shows as thumb_casts, gs.total_clicks as clicks, if |

Это сокращенная форма и тут не виден весь запрос
Что б увидеть весь сделайте

show full processlist

скорее всего это запросы при формировании страницы
И мастер и слейвы делают запросы в одну и туже таблицы с тумбами на масетере.

на больших базах запросы могут получаться тяжелыми. По мере возможностей и знаний эти запросы пытаемся оптимизировать. Если кто-то знает как правлиьно сделать - всегда за.
Don't forget to run script update
Post Reply