Медленная работа Друпал

Главные вкладки

Аватар пользователя Superman Superman 19 сентября 2016 в 22:34

Добрый день,

установил Друпал и заметил, что сайт долго грузится (где-то секунды две). Почитал местный форум и выяснил, что дело, возможно, в Update Manager. Но не могу отключить этот модуль: там проставлена галочка и строка серого цвета, то есть не отключается.

Дурацкая ситуация. В чем здесь дело?

Комментарии

Аватар пользователя Studio VIZA Studio VIZA 20 сентября 2016 в 4:29

Восьмёрка требует 16-ти ядерный процессор. Пилите уже Семёрку.

Для сравнения, отпишите её поведение, может быть - ваш ноутбук 1ггц с 128мб оперативы виновен? Или миллиард задач в диспетчере?

Аватар пользователя sergeybelya sergeybelya 20 сентября 2016 в 11:44

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

Аватар пользователя lex7dark lex7dark 20 сентября 2016 в 21:54

Как сказал Director-cemetery, Drupal весьма зависим от ресурсов машины. Очень много обращения в файлам ядра, темы а также Базы Данных. Скорее всего ваш OpenServer установлен на не очень шустром HDD, поэтому перенос OpenServer на SSD решит вашу проблему. Либо воспользоваться хостингом.

Аватар пользователя Superman Superman 20 сентября 2016 в 22:20

Интересные замечания. У меня Core -i7 и 16 Гб ОЗУ. А что, у хостинга сильно быстрее машины стоят?
А потом, сайт-то ещё не сделан: пара страниц статических и все. Я использовал Firebug, чтобы посмотреть, что там за задержка.
в результате увидел, что основное время тратится на самый первый запрос по домену проекта GET domainname.

Еще для пробы поставил Битрикс. Так там никаких тормозов. Неужели Друпал какой-то тормозной?

Аватар пользователя Studio VIZA Studio VIZA 20 сентября 2016 в 22:32

Superman wrote:

Неужели Друпал какой-то тормозной?

Если тормозит голое ядро, посмотрите пхп-версию сервера. Посмотрите на другом компе. Он должен летать.

Аватар пользователя Superman Superman 20 сентября 2016 в 22:59

А как узнать: голое ядро томозит или не голое? Другого компа у меня нет. У меня стационарные и вполне быстрый Пи-Си

Аватар пользователя Superman Superman 20 сентября 2016 в 23:51

А теперь вообще "шикарно". Поставил кэш 30 минут в меню Performace и вообще админка и сайт пропал. Вылезает белая страница с надписью Skip to main content .

Что делать?

Аватар пользователя Superman Superman 21 сентября 2016 в 1:34

Да, надпись такая. Я после этого ещё вставил в index.php код, выводящий ошибки. Теперь пишет «The website encountered an unexpected error. Please try again later.» и ку-ку, приехали. Похоже, что накрылся мой Друпал

Аватар пользователя Studio VIZA Studio VIZA 21 сентября 2016 в 2:17

PHP
Drupal 8: PHP 5.5.9 или выше
Drupal 7: PHP 5.2.5 или выше (5.4 или выше).
Drupal 6: PHP 5.x только (5.2.5 или выше). Внимание: поддержка PHP 4.x была удалена. Ядро Drupal должен работать с PHP 5.3.x, но PHP 5.3.x и выше может привести к ошибкам или неожиданное поведение, особенно для дополнительных модулей и тем.

Аватар пользователя Superman Superman 21 сентября 2016 в 13:31

Ну и к чему вы это написали? у меня Apache 2.4 и Php 5.6. Друпал слетел внезапно после указания в настройках кэша на 30 минут.
И непонятно, как это теперь исправить и восстановить

Аватар пользователя Studio VIZA Studio VIZA 21 сентября 2016 в 13:41

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

Аватар пользователя Superman Superman 21 сентября 2016 в 17:07

памяти отведено 3072к, так что это точно не из-за памяти. Скорее всего, это недоработка самого Друпала, что он так слетает.
Может, можно где-то найти конфигурационные файлы Друпала, чтобы вернуть значение кэш, как это было раньше? где они лежат?

Аватар пользователя ttenz ttenz 21 сентября 2016 в 17:19

можно или драшем

drush vset cache 0
 drush vset preprocess_css 0
 drush vset preprocess_js 0
 drush vset page_cache_maximum_age 0
 drush vset views_skip_cache TRUE

или в \sites\default\settings.php

$conf['cache'] = 0;                       // Page cache
$conf['page_cache_maximum_age'] =  0;     // External cache TTL
$conf['preprocess_css'] = FALSE;          // Optimize css
$conf['preprocess_js'] = FALSE;           // Optimize javascript
$conf['views_skip_cache'] = TRUE;         // Views caching
Аватар пользователя Superman Superman 21 сентября 2016 в 17:31

Спасибо, что написали. Драшем я пока не пробовал, а вот в файле settings.php ничего похожего у меня нет. я даже поиском искал. Может быть, эти спецы в восьмой версиии это все куда-то перенесли?

Аватар пользователя ttenz ttenz 21 сентября 2016 в 17:48

Superman wrote:

Спасибо, что написали. Драшем я пока не пробовал, а вот в файле settings.php ничего похожего у меня нет. я даже поиском искал. Может быть, эти спецы в восьмой версиии это все куда-то перенесли?


да в 8 по другому

https://www.drupal.org/node/2598914
https://www.chapterthree.com/blog/how-to-turn-off-drupal-8-caching

«

чтобы отключить весь кэш (twig + Drupal cache) :

скопируйте и переименуйте sites/example.settings.local.php в sites/default/settings.local.php

$ cp sites/example.settings.local.php sites/default/settings.local.php

откройте settings.php file in sites/default и раскомментируйте эти строки:

# if (file_exists(__DIR__ . '/settings.local.php')) {
#   include __DIR__ . '/settings.local.php';
# }

теперь откройте settings.local.php и измените на TRUE, если хотите работать с включенной css и js агрегацией:

$config['system.performance']['css']['preprocess'] = FALSE;
$config['system.performance']['js']['preprocess'] = FALSE;

и раскомментируйте это всё.

# $settings['cache']['bins']['render'] = 'cache.backend.null';
# $settings['cache']['bins']['dynamic_page_cache'] = 'cache.backend.null';

для twig кэша откройте development.services.yml и добавьте

parameters:
  twig.config:
    debug : true
    auto_reload: true
    cache: false

и перейдите по ссылке http://ваш_сайт/core/rebuild.php

подробнее: https://www.drupal.org/node/2598914
»

Аватар пользователя Superman Superman 21 сентября 2016 в 18:26

«The website encountered an unexpected error. Please try again later.
RuntimeException: Failed to start the session because headers have already been sent by "Z:\domains\Drupalproject\www\index.php" at line 15. in Symfony\Component\HttpFoundation\Session\Storage\NativeSessionStorage->start() (line 140 of vendor\symfony\http-foundation\Session\Storage\NativeSessionStorage.php).

Symfony\Component\HttpFoundation\Session\Storage\NativeSessionStorage->start() (Line: 163)
Drupal\Core\Session\SessionManager->startNow() (Line: 118)
Drupal\Core\Session\SessionManager->start() (Line: 71)
Symfony\Component\HttpFoundation\Session\Session->start() (Line: 53)
Drupal\Core\StackMiddleware\Session->handle(Object, 1, 1) (Line: 47)
Drupal\Core\StackMiddleware\KernelPreHandle->handle(Object, 1, 1) (Line: 98)
Drupal\page_cache\StackMiddleware\PageCache->pass(Object, 1, 1) (Line: 77)
Drupal\page_cache\StackMiddleware\PageCache->handle(Object, 1, 1) (Line: 47)
Drupal\Core\StackMiddleware\ReverseProxyMiddleware->handle(Object, 1, 1) (Line: 50)
Drupal\Core\StackMiddleware\NegotiationMiddleware->handle(Object, 1, 1) (Line: 23)
Stack\StackedHttpKernel->handle(Object, 1, 1) (Line: 628)
Drupal\Core\DrupalKernel->handle(Object) (Line: 37)
»

Вот, что получилось