Масштабируемость, нагрузка и быстродействие

Рецепты по увеличению быстродействия, масштабируемость движка, работа на сайтах с высоким трафиком.
См. также новостную группу и международный форум.

icon: 

sg85 Пнд, 16/09/2013 - 15:07

Пример конфига nginx(php-fpm)+Boost

Выложил конфиг для виртуального сервера nginx(обычно они живут там - /etc/nginx/sites-available), обратить внимание стоит на то, что содержится между ##### BOOST ##### и ##### BOOST END #####, все остальное там чисто для наглядности. Прикручивать Boost к nginx имеет смысл только, если в ТЗ стоит пункт "Очистка кеша сразу при добавлении материала", про настройку самого буста и vfs писать ничего не буду, информации по этому поводу и без того много, а вот с конфигами nginx через php-fpm беда.

#Стандартный реврайт урла
server {
        listen 80;
        server_name example.com;
        rewrite ^(.*) http://www.example.com$1 permanent;
}
server {
        server_name www.example.com;
        root /var/www;
        listen 80;
        index index.php;
 
        #как-то не задумывался, зачем оно надо
Тип материала: 
Модули и темы: 
Ключевые слова: 
Версия Drupal: 
1 Спасибо

sg85 Пнд, 16/09/2013 - 12:59

Основная настройка Apache Solr(3.6.2) + Jetty(min) под Drupal для слабых VPS или Dev_Env

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

ставим яву
если таковой еще не имеется
sudo apt-get install openjdk-6-jdk
6 для примера, является минимальным требованием, на dev лучше ставить 7, особенно если используете NetBeans ибо, в свою очередь, является его минимальным требованием

Качаем солр
wget http://archive.apache.org/dist/lucene/solr/3.6.2/apache-solr-3.6.2.tgz

Тип материала: 
Ключевые слова: 
Версия Drupal: 
0 Спасибо

elf39 Пт, 13/09/2013 - 08:39

Темизация page.tpl.php, node.tpl.php влияет ли на скорость?

Добрый день, решил темизировать page.tpl.php, node.tpl.php для каждого типа материала, каждой таксаномии. Будет это влиять как то на скорость работы друпала? Если да то в какую сторону?

Тип материала: 
Версия Drupal: 
0 Спасибо

Artu Чт, 12/09/2013 - 20:26

Node или entity? В чем хранить и выводить? Вопрос по архитектуре: хранение, вывод и имопорт.

Есть материалы разных типов, в каждом из них 20-30 полей.
Типов материалов для старта 6 штук, планируется расширение до 30-50.
Поля в основном цифровые или краткий текст. Где-то 1/3 таксономия.

Нужно:
-Фильтровать по некоторым полям
-Хранить поля (само собой)
-Импортировать материалы (ячейка - поле)

Посещаемость сайта планируется хорошая. Я пока не знаю точно какая, в этом и вопрос (см. ниже).

1)Как сделать это на нодах я знаю. Выдержит ли Друпал такую реализацию про бОлшой посещаемости.. Ведь для каждого поля он создает свою таблицу, подвязывает ее в запрос при выборке..

Тип материала: 
Версия Drupal: 
0 Спасибо

direqtor Пт, 23/08/2013 - 14:36

Быстрый способ оптимизации параллельных загрузок на Друпал и nginx

Однажды разглядывая «водопадный» дисплей работы сети в Опере по мере того, как в него грузился один из моих проектов, я понял, что пора и на нем сделать оптимизацию того типа, который указан в заголовке статьи. При довольно быстром в пол-секунды получении кода страницы, полсотни вставленных в нее картинок секунд на пять оттягивали заветное событие DOM loaded, да и разница между DOM loaded и Page loaded тоже была того же порядка. Растём-с.

Ключевые слова: 
Версия Drupal: 
0 Спасибо

Garese Вс, 11/08/2013 - 08:45

MySQL как оптимальнее?

Подскажите как оптимальнее или правильнее что ли.

Допустим делаю выборку:

Тип материала: 
0 Спасибо

NightL Ср, 07/08/2013 - 00:19

Сверхбыстрый хостинг или ... ?

Всем доброй ночи или доброе утро!
У меня совсем небольшой опыт с хостингами, всего пробовал около 10-ти различных компаний и обычно долго с ними не расставался. Сегодня мне потребовался очередной хостинг (виртуальный) и решил попробовать еще кого-нибудь. Имя компании писать не буду дабы не сочли за рекламу, но суть вот в чем:

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

100-200 хорошо
200-300 удовлетворительно.
300+ плохо

Тип материала: 
Версия Drupal: 
0 Спасибо

Lavio Втр, 06/08/2013 - 02:05

Быстродействие сайта и размер БД.

Спустя некоторое время работы сайта БД разраслалсь до 1,6 Гб. Исправил через phpmyadmin с помощью оптимизации таблиц. После чего ее размер сократился до 400 мб. Это при том, что на сайте пока особо ничего нет. Несколько нод, разве что довольно много модулей, и часто удалял в большом количестве ноды/товары когда разрабатывал модуль автоматической загрузки. Сейчас все товары и их дисплеи удалил. В последнее время сам сайт стал дико тормозить. После оптимизации БД дела пошли лучше, но все же это не то что было в начале(. Так вот, вопросы:

  1. Какого размера должна быть средняя БД для интернет магазизна? Количество товаров будет около 10000.
  2. Как можно оптимизировать CMS чтобы сайт не тормозил?
Тип материала: 
Ключевые слова: 
Версия Drupal: 
0 Спасибо

zeroif Пнд, 05/08/2013 - 16:34

Тормоза при редактировании таксономии и не только

При редактировании таксономии вот такое(прикрепил) происходит.
При любом добавлении материала или редактировании сайт тормозит.

Какие варианты решения? сервер выделенный Intel(R) Core(TM) i7-3770 CPU @ 3.40GHz

Тип материала: 
Версия Drupal: 
0 Спасибо

roman-yrv Втр, 30/07/2013 - 08:19

Решение проблемы просаженной файловой подсистемы

Добрый день.

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

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

Тип материала: 
Версия Drupal: 
0 Спасибо

Artu Сб, 27/07/2013 - 20:40

Прозрачная передача апдейтов из сервера разрабтки на продакшн сервер

Сервер 1. Сервер разработки.
Сервер 2. Реальный, работающий сайт.

Пока на сервере 1 ведется разработка на сервере 2 меняются и добавляются данные.

Как передать обкатанные на сервере 1 наработки на сервер 2? Что б понятно и прозрачно, в т.ч. для клиента. Желательно как-то поддерживать версионность. Что б на сервере 2 не пропали введенные данные.

Понятно что скрипты передаются в виде файловой структуры,а как быть с данными в т.ч. и настройками?

1)модуль Futures? Еще не работал с ним. Подходит ли он для этих целей? Он генерит модули. Если удалить сервер 1 (а что его пожизненно хранить?) то сервер 2 будет частично состоять из сгенерированных Futures модулей.. Что ж тут хорошего?

Версия Drupal: 
0 Спасибо

sanita Чт, 25/07/2013 - 13:51

[Решено] Googlebot и Facebook bot поселились на сайте и съедают ресурсы

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

Поселились у мень два бота, точнее - целый выводок ботов гугла и фейсбука. Они прям стаями наседают на сайт и живут в нем толпами до 140 посетителей в отдельный момент.

С одной стороны это хорошо, что такие важные боты навещают сайт, но с другой - надо иметь совесть. Ресурсов жрут немерянно.

Я уже и в robots.txt ограничение Crawl-delay 20 поставила и в Facebook RSS только раз в день публикую, но ничего не помагает - как толпились, так и толпятся, набегая волнами с десятков разных IP. Совсем отрубать глупо - вижу же, что google в индекс новые страницы вводит и в выдачи они есть.

Тип материала: 
Ключевые слова: 
0 Спасибо

roman-yrv Втр, 23/07/2013 - 19:25

Время выдачи страницы на свежесозданном сайте

Добрый день.

Хочу задать несколько абстрактный вопрос.

А именно, допустим, заказали хостинг или недорогой VPS.
Установили туда Drupal 7 и добавили несколько тестовых записей (например, несколько статей).
Тема используется стандартная - bartik.
Установили модуль devel и настроили его, чтобы он показывал время генерации страниц + время генерации и кол-во SQL-запросов.

Запустили главную страницу свежеинсталлированного сайта и смотрим.

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

Вот, например, если время генерации такой страницы будет составлять порядка 400-500 миллисекунд - это нормально ?
Или это очень слабо ?

Тип материала: 
Версия Drupal: 
0 Спасибо

aksernar Пнд, 22/07/2013 - 21:01

Потянет ли друпал 2 млн node c большим кол-вом полей?

Потянет ли друпал 2 млн node c большим кол-вом полей?
С учетом того, что: много полей, много таксономии. А сама БД node+cck+taxonomy весит около 10 Гб.
Или сразу отказываться от архитектуры друпала?

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

Тип материала: 
Версия Drupal: 
0 Спасибо

evilart Пт, 19/07/2013 - 13:35

HTML-кеш для Друпал 7

Коллеги, кто-нибудь знает хороший кеш не через БД (честно говоря не понимаю, зачем он там хранится и почему так реализовано в Друпал), а в файлах HTML?

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

Кстати, если кому нужен модуль - могу поделиться.

Тип материала: 
Версия Drupal: 
0 Спасибо

AndreyL Сб, 13/07/2013 - 19:02

Есть ли смысл в обновлении mysql

Здравствуйте.
Помогите решить, чтобы не наломать дров: на хостинге можно "нажать кнопочку" - и произвести обновление mysql
сейчас работает 5.0.96-community
отображается возможность использовать:
MySQL 5.0 (это текущая)
MySQL 5.1
MySQL 5.5

Какие сложности могут быть? Есть ли смысл вообще этим заняться? Я вижу опасность в том, что хостер считает для себя проблемой вернуть старую версию после обновления, т.е. он этим заниматься не будет - считает это небезопасным (Downgrades of MySQL are unsafe and unsupported).

Версия Drupal: 
0 Спасибо

merlin Пнд, 08/07/2013 - 09:15

В Мультисайтинге, одновременно общие и раздельные типы материалов возможны?

Было бы конечно здорово, но как я понимаю это невозможно.
Однако спрошу на всякий случай, может посредством каких то дополнительных модулей.
То есть
сайт1 имеет типы материала - {A,B,C,D}
сайт2 имеет типы материала - {A,B,E,G}
где A,B - общие типы материалов (и сами материалы общие)
а C,D - только в сайт1 и E,G - только в сайт2

Никто не пробовал это реализовать? Вообще это теоретически возможно?

Тип материала: 
Ключевые слова: 
Версия Drupal: 
0 Спасибо

astrameridian Пнд, 08/07/2013 - 01:51

Использование нескольких баз данных

Если сайт на аккаунте 1 вирт.хостинга будет использовать все таблицы базы данных аккаунта 1, а для всех таблиц кэша будет использовать аккаунт 2. (Ресурсы на аккаунтах распределены cloudlinux)
1. Даст ли это преимущество в меньшей загруженности процессора на аккаунте 1 ?
2. Нужно ли обязательно для аккаунта 2 иметь выделенный IP адрес, чтобы подключаться к его базе?

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

Тип материала: 
Версия Drupal: 
0 Спасибо

Crea Ср, 03/07/2013 - 21:51

TokuMX выводит NoSQL на новый уровень

Появился форк MongoDB под названием TokuMX от компании Tokutek, поддерживающий много важных вещей, которых нехватало MongoDB, и которые удерживали многих от использование этой замечательной СУБД:

  • поддержка ACID
  • отсутствие глобальных блокировок на запись
  • хорошая скорость на запись когда данные не помещаются в память
  • полноценные транзакции, как в 1 запросе, так и в нескольких запросах

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

Тип материала: 
Ключевые слова: 
0 Спасибо

Ch Ср, 26/06/2013 - 12:36

MySql vs PostgreSql vs SQLite

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

Тип БД Результат
MySql 12 min 25 sec
PostgreSql 21 min 8 sec
SQLite 15 min 10 sec
Тип материала: 
Ключевые слова: 
Версия Drupal: 
0 Спасибо

Страницы