Оптимізація роботи Drupal
Оптимізація роботи Drupal та модулів сайту інші налаштування для прискорення роботи сайту.
Робота високо-навантаженних сайтів.
Оптимізація роботи Drupal → Допоможіть зробити сайт валідним
Вже на фінальній прямій мій невеличкий проект сайту турагенції.
Валідар видає всього дві помилки. Але і їх хотів би позбутися.
Дивлюся в те місце в page.tpl.php, то ніби все, що відкривалося закрите:
<div class="Header">
<?php
// Prepare header
$site_fields = array();
if ($site_name) {
$site_fields[] = check_plain($site_name);
}
if ($site_slogan) {
$site_fields[] = check_plain($site_slogan);
}
$site_title = implode(' ', $site_fields);
// if ($site_fields) {
// $site_fields[0] = '<span>'. $site_fields[0] .'</span>';
// }
$site_html = implode(' ', $site_fields);
if ($logo || $site_title) {
print '<h1><a href="'. check_url($front_page) .'" title="'. $site_title .'" id="sitename">';
if ($logo) {
print '<img src="'. check_url($logo) .'" alt="'. $site_title .'" id="logo" />';
}
// print $site_html .' </a></h1>';
}
?>
</div>Але Валідатор видає:
end tag for "a" omitted, but OMITTAG NO was specified
end tag for "h1" omitted, but OMITTAG NO was specified
Може хтось зустрічав подібне?
Оптимізація роботи Drupal → Изменение запроса VIEWS
Всем доброго времени суток.
Для своих целей я поставил модуль: http://drupal.org/project/family
Код не идеальный но функционал меня в принципе устраивает. ПОэтому есть желание его отрефакторить и исползовать на сайте. Насколько могу судить, модуль этот сделан с помощью Views.
Но проблема заключается в том, что после того, как я экспортнул в него свои данные (окло 60 тыс записей), то он начал тормозить. Тормозят, главным образом несколько запросов, которые я и хочу заменить, но не знаю как это сделать. В это и прошу Вашей помощи.
Запрос первый:
SELECT node.nid AS nid, family_individual.lastname AS family_individual_lastname, family_individual.firstname AS family_individual_firstname, family_individual.middlename AS family_individual_middlename, family_individual.gender AS family_individual_gender, family_individual.birthdate AS family_individual_birthdate, family_individual.deathdate AS family_individual_deathdate FROM dru_node node INNER JOIN dru_family_individual family_individual ON node.nid = family_individual.nid WHERE ( node.type IN ( 'family_individual' ) ) AND ( node.STATUS <>0 ) ORDER BY family_individual_lastname DESC LIMIT 41840 , 40
В принципе он уже мною оптимизирован и выполняется 1 сек. Но это все равно чересчур много.
//До оптимизации там был LEFT JOIN и не было индексов некоторых.
Запрос, который я хотел бы использовать вместо него:
SELECT
family_individual.nid AS nid,
family_individual.lastname AS family_individual_lastname,Оптимізація роботи Drupal → Drupal + Xcache + Cacherouter + FreeBSD
Великі проекти на Друпалі вимагають гарно продуманої системи кешування, щоб витримати наплив великої кількості користувачів.
Для цього базова система кешування, яка реалізована в друпалі - не підходить.
Необхідним мінімумом є використання op_code кешерів, що оптимізують і прекомпілюють php скрипти і зберігають їх в оперативній пам'яті, а також кешери, які зберігають вміст таблиць cache* (ну або в перекладі на друпал - вміст cache bins) в оперативній памяті.
для op_code кешування можна використовувати xcache, apc, eAccelerator і інші, а для зберігання cache bins - xcache, memcache.
Також зверху над apache можна встановлювати реверсинвні проксі (nginx, varnish, squid), мова про які піде в майбутньому.
В цій статті мова йтиме про op_code кешер і кешер змінних xcache.
Оптимізація роботи Drupal → DrupALL - зборка від drupal.kiev.ua
Зборка має український,російський інсталятор та деякі найбільш корисні модулі.
Зборку робив для себе, але можливо вона допоможе іншим.
Планую й надалі підтримувати актуальні версії модулів та перекладу.
Сподіваюсь на зворотній зв’язок.
Оптимізація роботи Drupal → Пошукова оптимізація друпал сайту.
Як правильно "просунути" сайт побудований на Друпалі. Внутрішні і зовнішні чиники що впливають на рейтинг сайту в пошуковиків. Де потрібно прописувати теги, модулі які допомагають розкрутити сайт.
Оптимізація роботи Drupal → Мультисайтинг (одни файлы, разные базы)
Гибкость и мощность Друпала можно оценить при разработке и администрирования одного сайта, но это не все возможности Друпала, эта система может легко развернуться на несколько проектов при минимальных затратах времени и усилий.
Мультисайтинг это когда несколько сайтов используют общие ресурсы. Из всех видов мультисайтинга можно выделить 2:
- с общими файлами — разные сайты используют одни и те же файлы, но работают с разными базами. При этом облегчается обслуживание сайта. Потому что-то нужно обновлять всего одну копию файлов и одновременно обновляются все сайты. Экономится место на диске сервера (и бекап-диска).
- с общей таблицей базы данных — сайты имеют свои наборы файлов Друпала и модулей. Возможно, даже расположены на разных серверах, но при этом они используют одну базу данных (один пользователь, один пароль). Собственно использование всех таблиц на обоих сайтах это больше исключение, чем правило, в большинстве случаев каждый сайт имеет часть своих таблиц и часть общих. В общие обычно попадают сессии и пользователи, тогда на нескольких сайтах можно регистрироваться с одной учетной записью.
Оптимізація роботи Drupal → Оптимизируем Друпал: Видимость блоков
Для больших друпаловских сайтов обычная вещь иметь большое количество регионов для блоков. Разные регионы для разных разделов тоже частая практика. В общем случае, вы имеете шаблон главной страницы (page-front.tpl.php), где вы водите большую часть разнообразных регионов, и шаблон рядовых страниц, где количество регионов не так велико (page.tpl.php):
Определение новых регионов супер простое, нужно всего лишь добавить новую запись в .info файл вашей темы:
regions[ad_top] = Ad Top
regions[ad_bottom] = Ad Bottom
regions[front_sidebar] = Front Sidebar
regions[sidebar_ad] = Sidebar Ad
Оптимізація роботи Drupal → Увеличение производительности сайта
1 . Производить как можно меньше HTTP запросов;
2 . Воспользоваться услугами сетей доставки контента (Content Delivery Network), например Akamai;
3 . Не пренебрегать HTTP заголовком "Expires" или "Cache-control";
4 . Отдавать страницы в сжатом виде (например, mod_gzip);
5 . Указывать ссылки на файлы с таблицами стилей (link href) в начале документа;
6 . Указывать ссылки на JavaScript файлы (script src) в конце документа;
7 . Не использовать вычислимые выражения (expression) в CSS;
8 . Хранить JavaScript и CSS вставки в виде отдельных файлов;
