Страница 1 из 1

Большая нагрузка на сервер

СообщениеДобавлено: 09 ноя 2015, 19:42
Volander
Добрый день.

Использую платную версию Open Real Estate PRO 1.8.1. Сайт http://www.dom-goncharova.ru создает большую нагрузку на сервер (CP 58.84 в среднем) при норме для моего тарифного плана на beget.ru в 65CP. Пиковые значения значительно превышают норму. Посещаемость у сайта небольшая: 50-60 хостов в день.

Можно ли уменьшить создаваемую сайтом нагрузку на сервер? Что можно сделать для оптимизации нагрузки?

Re: Большая нагрузка на сервер

СообщениеДобавлено: 10 ноя 2015, 12:08
Xpycm
Здравствуйте.

Версия у вас старая. На текущий момент актуальная версия 1.14.1.
99,9% необходимо добавить несколько индексов - это немного поможет.

Можете прислать данные доступа к фтп и БД через форму: Контакты: http://monoray.ru/contact
Я добавлю несколько индексов. Однако, прироста производительности на 146% не гарантирую.

Может оптимизировать полностью только за отдельную плату.
Также не помешает оптимизировать изображения, например, на главной. Грузится фотография размером 1200*522, а отображается как 450*196. Незачем так нерационально использовать трафик и память браузера.

Re: Большая нагрузка на сервер

СообщениеДобавлено: 10 ноя 2015, 15:15
Volander
Отправил данные доступа к фтп и БД через форму: Контакты: http://monoray.ru/contact
Надеюсь, что добавление индексов поможет хоть как-то уменьшить нагрузку. Заранее большое спасибо!

Re: Большая нагрузка на сервер

СообщениеДобавлено: 10 ноя 2015, 15:32
Xpycm
Добавил индексов.

В вашем случае время выполнения sql запросов для главной страницы уменьшилось с 1-1.2 секунды до 0.10-0.14 секунд

P.S: Для владельцев аналогичной старой версии ( в данном случае 1.8 ) выкладываю применённые sql запросы:
Код: Выделить всё
ALTER TABLE `ore_seo_friendly_urlADD INDEX `model_id` (`model_id`);
ALTER TABLE `ore_seo_friendly_urlADD INDEX `model_name` (`model_name`);
ALTER TABLE `ore_seo_friendly_urlADD INDEX `model_name_and_id` (`model_name`,`model_id`);
ALTER TABLE `ore_currencyADD INDEX `char_code` (`char_code`); 


После этого чистим кэш.

Итогом будет служить: уменьшение общего времени на sql запросы от 5 до 35 раз.

Re: Большая нагрузка на сервер

СообщениеДобавлено: 18 апр 2016, 17:08
vanred79
Xpycm писал(а):Добавил индексов.

В вашем случае время выполнения sql запросов для главной страницы уменьшилось с 1-1.2 секунды до 0.10-0.14 секунд

P.S: Для владельцев аналогичной старой версии ( в данном случае 1.8 ) выкладываю применённые sql запросы:
Код: Выделить всё
ALTER TABLE `ore_seo_friendly_url` ADD INDEX `model_id` (`model_id`);
ALTER TABLE `ore_seo_friendly_url` ADD INDEX `model_name` (`model_name`);
ALTER TABLE `ore_seo_friendly_url` ADD INDEX `model_name_and_id` (`model_name`,`model_id`);
ALTER TABLE `ore_currency` ADD INDEX `char_code` (`char_code`); 


После этого чистим кэш.

Итогом будет служить: уменьшение общего времени на sql запросы от 5 до 35 раз.


Добрый вечер!
Подскажите пожалуйста какой тип индекса вы применили для char_code:
1) PRIMARY
2) INDEX
3) UNIQUE
4) SPATIAL
5) FULLTEXT

Re: Большая нагрузка на сервер

СообщениеДобавлено: 18 апр 2016, 17:18
Xpycm
INDEX

В чём различия индексов MySQL:

PRIMARY KEY - это первичный ключ. Он может содержать только уникальные значения.
INDEX - указывает на то, что столбец должен быть проиндексирован. Может не содержать уникальный значения. Может быть составным ( основываться на двух и более полях ).
UNIQUE - указывает на то, что столбец должен содержать только уникальные значения.
FULLTEXT - это для ускорения поиска по текстовым полям

Для тестирования используйте EXPLAIN перед запросом. MySQL выдаст всю информацию и уже, основываясь, на этой информации можете добавлять индексы.
Есть ещё команда FORCE INDEX. Она указывает MySQL какой индекс использовать, а не выбирать самой.