Перейти к содержанию
Форум поддержки пользователей VamShop

нагрузка на сервер


Server Kubedinov

Рекомендуемые сообщения

Приветствую,

кто нибудь может сказать, сколько ресурса сервера использует магазин при посещении около 300 в день?

клиент получил письмо от хостинга с просьбой снизить нагрузку.

в чем может быть дело?

> Ваш аккаунт продолжает создавать повышенную нагрузку на MySQL сервер.
> Примите срочные меры по ее снижению.
>
> Count of calls - количество вызовов за час;
> Spend time - затраченное время на выполнение запроса в секундах за час.
>
> Total spend time: rockbun3_new => 1269
>
> select                                                               
>                                                                       
>  p.products_fsk18,                                                   
>                                                                       
>                  p.products_id,                                     
>                                                                       
>                                  p.products_price,                   
>                                                                       
>                                                 
> p.products_tax_class_id,                                             
>                                                                       
>                        p.products_image,                             
>                                                                       
>                                        pd.products_name,             
>                                                                       
>                                                        p.products_vpe,
>                                                                       
>                                                                       
>        p.products_vpe_status,                                       
>                                                                       
>                                        p.products_vpe_value,         
>                                                                       
>                                                       
> pd.products_short_description FROM orders_products opa, orders_products
> opb, orders o, products p, products_description pd                   
>                                                                       
>                                                where opa.products_id =
> 'S'                                                                   
>                                                                       
> and opa.orders_id = opb.orders_id                                     
>                                                                       
>                                and opb.products_id
>  != 'S'                                                               
>                                                                       
>  and opb.products_id = p.products_id                                 
>                                                                       
>                                  and opb.orders_id = o.orders_id     
>                                                                       
>                                                                  and
> p.products_status = 'S'                                               
>                                                                       
>                    and pd.language_id = 'S'                         
>                                                                       
>                                            and opb.products_id =
> pd.products_id                                                       
>                                                                       
>                                                                       
>                                                                       
>                                                                       
>                                                                       
>          group by p.products_id order by o.date_purchased desc limit N;
> Spend time: 253
> Users: rockbun3_new
>
> select distinct                                          p.products_id,
>                                          pd.products_name,           
>                              p.products_image,                       
>                  p.products_tax_class_id,                           
>              p.products_vpe,                                         
>          p.products_vpe_status,                                     
>                  p.products_vpe_value,                               
>          p.products_price                                         
> from products p, products_description pd, products_to_categories p2c,
> categories c                                          where
> p.products_status=N                                          and
> p.products_id = p2c.products_id                                       
>  and pd.products_id = p.products_id                                 
>        and p.products_id !='S'                                       
>  and c.categories_id = p2c.categories_id           
>                                                                       
>                                              and c.categories_status=N
> order by                                          p.products_date_added
> desc limit N;
> Spend time: 208
> Users: rockbun3_new
>
> SELECT * FROM                                          products p,   
>                                        products_description pd,     
>                                        products_to_categories p2c,   
>                                        categories c                 
>                        where c.categories_status='S'                 
>                        and p.products_id = p2c.products_id and
> p.products_id=pd.products_id                                         
> and p2c.categories_id = c.categories_id                               
>                                                                       
>                                and c.parent_id = 'S'                 
>                        and p.products_status = 'S' and pd.language_id =
> 'S'                                            order by
> p.products_date_added DESC limit N;
> Spend time: 204
> Users: rockbun3_new
>
> select                                                               
>                                  r.reviews_rating,                   
>                                                                       
>          r.reviews_id,                                               
>                                                  r.customers_name,   
>                                                                       
>                          r.date_added,                               
>                                                               
> r.last_modified,                                                     
>                                                r.reviews_read,       
>                                                                       
>                        rd.reviews_text                               
>                                                                       
> from reviews r,                                                       
>                                                reviews_description rd
>                                                                       
>                        where r.products_id = 'S'                     
>                                                                       
>        and  r.reviews_id=rd.reviews_id                               
>                                                                       
> and rd.languages_id = 'S'                                             
>                                                        order by
> reviews_id DESC;
> Spend time: 202
> Users: rockbun3_new
>
> select p.products_fsk18,                               
> p.products_shippingtime,                               
> p.products_model,                                  p.products_ean,   
>                            pd.products_name,                         
>        m.manufacturers_name,                               
> p.products_quantity,                                  p.products_image,
>                                  p.products_weight,                   
>              pd.products_short_description,                           
>      pd.products_description,                               
> p.products_id,                                  p.manufacturers_id,   
>                              p.products_price,                       
>        p.products_vpe,                               
> p.products_vpe_status,                               
> p.products_vpe_value,                                                 
>            p.products_discount_allowed,                   
>                p.products_tax_class_id                               
> from  products_description pd, products_to_categories p2c, products p
> left join manufacturers m on p.manufacturers_id = m.manufacturers_id 
>                              left join specials s on p.products_id =
> s.products_id                                  where p.products_status =
> 'S'                                  and p.products_id = p2c.products_id
>                                  and pd.products_id = p2c.products_id 
>                                                                       
>                                                        and
> pd.language_id = 'S'                                  and
> p2c.categories_id = 'S' ORDER BY p.products_price ASC;
> Spend time: 174
> Users: rockbun3_new
>
> select count(*) as total from products p, products_to_categories p2c
> where p.products_id = p2c.products_id and p.products_status = 'S' and
> p2c.categories_id = 'S';
> Count of calls: 2996
> Users: rockbun3_new
>
> SELECT personal_offer                                                 
>                        FROM personal_offers_by_customers_status_1   
>                                                                       
> WHERE products_id='S'                                                 
>                        AND quantity='S';
> Count of calls: 1907
> Users: rockbun3_new
>
> SELECT max(quantity) as qty                                           
>                FROM personal_offers_by_customers_status_1           
>                                                WHERE products_id='S' 
>                                                        AND quantity<='S';
> Count of calls: 1907
> Users: rockbun3_new
>
> Если нагрузка не будет снижена до понедельника, мы будем вынуждены
> заблокировать Ваш аккаунт до принятия Вами необходимых мер.
[/code]

Ссылка на сообщение
Поделиться на другие сайты
  • Ответов 50
  • Created
  • Последний ответ

Top Posters In This Topic

  • support

    14

  • Server Kubedinov

    12

  • redline16

    6

В смысле, сколько ресурсов!?

Так и не посчитаешь ведь.

От хостинга всё зависит, переезжайте на другой хостинг.

Либо попробуйте включить кэш и кэш sql в Админке - Настройки - Основные - Кэш.

Ссылка на сообщение
Поделиться на другие сайты

и все же интересно, крутые парни суппорта советуют следующее. см ниже.

Так же эффективным методом сокращения времени, затраченного на mysql

запрос является оптимизация самих запросов. Беглый взгляд на запросы

показывает, что наиболее рациональным было бы:

- избегать *(ALL) после SELECT, указав лишь опционально необходимые ячейки;

- разделить одновременный запрос к нескольким таблицам на несколько

запросов с меньшим количеством запрошенных таблиц (FROM orders_products

opa, orders_products opb, orders o, products p, products_description

pd);

- уменьшить значение LIMIT

интересует следующее,

это он ткнул пальцем в небо или все же можно оптимизировать магазин на оптимально минимальное потребление ресурсов?

если да, то как?

Ссылка на сообщение
Поделиться на другие сайты

Естественно можно оптимизировать SQL запросы, убрать лишние запросы, убрать лишние боксы и т.д.

Но жир всё руками, исправляя php файлы.

Ссылка на сообщение
Поделиться на другие сайты

Александр, я к сожалению не программист,

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

я использую это для поиска специалиста для работы с моими проектами.

заранее благодарен.

Ссылка на сообщение
Поделиться на другие сайты

Сформулировать очень просто - сделать не просто.

"Необходимо выявить наиболее тяжёлые запросы и оптимизировать их."

Для этого необходимо иметь соответствующий инструментарий.

На самом деле хороший программер сам знает что нужно сделать.

Ссылка на сообщение
Поделиться на другие сайты

SKM, для Вас будет дешевле переехать на другой хостинг.

Абсолютно верное замечание. Работа по оптимизации требует немало времени, стоит очень не дёшево и, главное, никто не может гарантировать 100% успех.

Ссылка на сообщение
Поделиться на другие сайты

Для этого необходимо иметь соответствующий инструментарий.

какой? доступ к скриптам и логам?

SKM, для Вас будет дешевле переехать на другой хостинг.

хостинг сменить можно, но ведь это не решение.

хочется иметь оптимизированный инструмент. где гарантии, что магазин не загнёт сервер нагони я на него 1000 - 2000 хостов в день?

ABerezin, Евгений , свои то проекты оптимизировали?

Абсолютно верное замечание. Работа по оптимизации требует немало времени, стоит очень не дёшево и, главное, никто не может гарантировать 100% успех.

сколько? жду предложений в личку.

Ссылка на сообщение
Поделиться на другие сайты

хостинг сменить можно, но ведь это не решение.

как раз таки решение конкретной задачи без значительных телодвижений и денежных вложений.

хочется иметь оптимизированный инструмент. где гарантии, что магазин не загнёт сервер нагони я на него 1000 - 2000 хостов в день?

Можно попробовать другой движок, например UMI.CMS но цена его от 17 990руб. хотя где то во столько же встанет и оптимизация, если не больше.

так что вариант с хостингом не такой уж и плохой)

Ссылка на сообщение
Поделиться на другие сайты

Использую пакет почти год:

http://mirohost.net/studio.phtml

На Новый год и Рождество было более 3к посетителей в сутки только на одном сайте. В среднем более 4 к в сутки с группы сайтов на движке Vam shop. Дорого, но сплю спокойно!

Ссылка на сообщение
Поделиться на другие сайты

я считаю это проблема и проблема не моего сайта и хостинга,

а магазина VaM Shop в целом.

нет смысла гнаться за расширением возможностей.

практически все время тратится на затыкание дыр.

оптимизированный продукт и соответственно быстро  стабильно работающий

вот что нам нужно  ;)

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

и спасибо за то Александру

UMI. - подозреваю, что по сути тоже самое, только в красивой обложке.

у меня сейчас при первом заходе в магазин

Время генерации: 3.699, запросов: 887

при обновлении страницы

Время генерации: 0.509, запросов: 890

запросов, это обращений к базе?

уберу пару боксов с главной, станет меньше?

Ссылка на сообщение
Поделиться на другие сайты

у меня сейчас при первом заходе в магазин

Время генерации: 3.699, запросов: 887

при обновлении страницы

Время генерации: 0.509, запросов: 890

Как то многовато .. у меня 150-180.

Ссылка на сообщение
Поделиться на другие сайты

отключил опцию: Показывать счётчик товаров

запросов стало поменьше, но не на столько

Время генерации: 0.465, запросов: 769

Ссылка на сообщение
Поделиться на другие сайты

да, на другом проекте меньше.

Время генерации: 0.480, запросов: 361

какие боксы включены?

у меня так


{#text_mainpage#} | {#link_cart#}| {#link_account#} | {#link_checkout#} | {if vam_session_is_registered('customer_id')}{#link_logoff#}{else}{#link_login#}{/if}

{$box_SEARCH}
{$box_CATEGORIES}
{$box_CONTENT}
{$box_SPECIALS}
{$box_FEATURED}
{$box_LATESTNEWS}
{$navtrail}
{$main_content}

{$box_CART}
{$box_LOGIN}
{$box_WHATSNEW}
{$box_FAQ}
{$box_ADMIN}
{$box_DOWNLOADS}
{$box_CURRENCIES}
{$box_LANGUAGES}
{$box_FAQ}

{if $BANNER} {$BANNER} {/if}
[/code]

Ссылка на сообщение
Поделиться на другие сайты

вот. первый шаг к оптимизации магазина сделан.

определили задачу.

1. в админке нужна страничка на которой можно включить/отключить показ нужных/ненужных боксов. соответственно и запросов.

Ссылка на сообщение
Поделиться на другие сайты

1. в админке нужна страничка на которой можно включить/отключить показ нужных/ненужных боксов. соответственно и запросов.

Могу сделать для тебя эту функцию ..  не за спасибо конечно)

Ссылка на сообщение
Поделиться на другие сайты

Запросов конечно многовато :(

По идее, количество запросов вообще не должно расти с количеством товаров, так во всяком случае в oos-shop.de

В ещё одном клоне osCommerce.

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

Вообще, тема конечно очень интересная.

Я лишь могу сказать, что не стоит уж прям так обольщаться, что в других скриптах магазинов всё так гладко и красиво, проблемы везде примерно одни и те же, насколько я смог убедиться. А где всё ровно и красиво, там наверняка нет необходимых функций в магазине, магазин совсем уж "голый".

Ссылка на сообщение
Поделиться на другие сайты

Могу сделать для тебя эту функцию ..  не за спасибо конечно)

я тут рассуждаю о проекте в целом и думаю такая функция нужна не только мне. но все равно интересны твои расценки.

а почему это не оптимизация? как раз да, если в итоге поможет пользователю отключить лишнее.

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

группы покупателей, на этом сайте нет разделения на группы и цена указана только в основной колонке

Ссылка на сообщение
Поделиться на другие сайты

Тогда удаляй все не нужные вещи тебе, т.е. нужно копаться в скриптах, удаляя не нужный код.

Ссылка на сообщение
Поделиться на другие сайты

Тогда удаляй все не нужные вещи тебе, т.е. нужно копаться в скриптах, удаляя не нужный код.

так он тогда не сможет обновляться. если начнет изменять код вне шаблона ..

Ссылка на сообщение
Поделиться на другие сайты

×
×
  • Создать...