Блог Шопмастера на Яндексе

shopmaster 04 Июнь, 2010 15:33 Базы, скрипты, и др. Постоянная ссылка Трекбэки (0)
Друзья, теперь вы можете читать и комментировать мои записи и на Я.ру — Shopmaster Shopmaster!


Закладки:These icons link to social bookmarking sites where readers can share and discover new web pages.
    blinkbits BlinkList blogmarks co.mments connotea del.icio.us De.lirio.us digg Fark feedmelinks Furl LinkaGoGo Ma.gnolia NewsVine Netvouz RawSugar Reddit scuttle Shadows Simpy Smarking Spurl TailRank Wists YahooMyWeb ecto NewsGator


Сколько выдержит мой магазин?

shopmaster 29 Август, 2009 21:49 Базы, скрипты, и др. Постоянная ссылка Трекбэки (0)

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

Может ли производитель гарантировать, что когда ко мне придут люди, их программный продукт обсужит покупателей, и всё будет чики-пики?

Этот вопрос сложный, поскольку в значительной степени устойчивая работа магазина зависит от мощности сервера, на котором он расположен. Главная нагрузка приходится на процессор - памяти, дискового пространства, пропускной способности канала может быть завались, но при слабом процессоре база (в частности - мускул) очень быстро сожрёт все ресурсы процессора, и время ожидания открытия страниц магазина покупателями начнёт исчисляться минутами.

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

Сейчас же я про другое - как понять, каковы пределы моего конкретного магазина?

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

Итак, определяем, какие запросы к базе данных выполняются очень долго, то есть реально грузят сервер.

Для этого создаём логи, в которые будут записываться уличённые в медленной работе запросы к базе данных.

В MySQL устанавливаем директивы:

log_slow_queries = slowsql.txt
long_query_time = 1

1 здесь - 1 секунда, можно поставить 2, 3, или сколько вам нужно. Обычно эта величина регулируется в зависимости от мощности сервера.

Внимание: здесь должно быть указано целое число.

Все запросы, выполняющиеся дольше указанного времени, будут записаны в лог-файл slowsql.txt 

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

Естественно, если у вас не много посетителей, а магазин работает достаточно шустро, то очень не скоро в логе начнут появляться записи.

Поэтому имитируем поток покупателей.

Делаем это утилитой фирмы Microsoft, которая называется "Stress Tool", взять её можно по этой ссылке на сайте "Microsoft".

Устанавливаем в программе нужное количество посетителей, указывая соответствующий "Stress level", например "300" будет означать 300 обращений к странице вашего магазина в минуту.

Опять же, в зависимости от мощности сервера, устанавливаем эту величину на более высокий или более низкий уровень. Постепенно увеличивая её, находим то количество посетителей, при котором работать в вашем магазине становится утомительно.

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

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

Благодарю за помощь в подготовке статьи john_j с форума нулледа. 


Закладки:These icons link to social bookmarking sites where readers can share and discover new web pages.
    blinkbits BlinkList blogmarks co.mments connotea del.icio.us De.lirio.us digg Fark feedmelinks Furl LinkaGoGo Ma.gnolia NewsVine Netvouz RawSugar Reddit scuttle Shadows Simpy Smarking Spurl TailRank Wists YahooMyWeb ecto NewsGator


Powered by BlogMasters.Ru