Чтение RSS каналов

Форум

Открыть Ответить

Оптимизация и Кеширование

0

0
1
28.02.2017 20:00:09
Хотел бы поднять такой вопрос как оптимизация загрузки всей системы. Недавно плотно работал над этим вопросом и понял, что хотелось бы увидеть некоторые доп. возможности в системе кеширования.

А именно, при включении функции Кеширование/Всех отделов сайта, создаются текстовые файлы страничек сайта. Не хватает функции сжатия текстового файла и удаление лишних пробелов в коде.

Например средствами системы или доп. скрипта внедренного в систему, проводить сжатие и удаление лишнего из каждого кешированного файла, создаваемого системой находящего в папке cache. Было бы очень полезно для сокращения объема файла.

Дополнительно еще было бы полезно прогонять все файлы css и js через компрессор движком или внедрить сторонний скрипт. Помоему такая функция есть в движке DLE.

Прошу прощения заранее за колхозное описание идеи, не силен я в этом.


Версия системы: SLAED CMS 6.* Pro
Версия PHP: 5
Сервер: Сервер в интернете
4.43

4.43
2
28.02.2017 20:30:0828.02.2017 20:30:20
1. В конфигурациях системы, если активировать сжатие GZip, то всё содержание будут передаваться в сжатом виде браузеру посетителя. Ускоряем передачу содержания, но увеличиваем нагрузку на сервер.

2. Кеширование страниц предназначено для снижения нагрузки на базу данных сервера, при высокой посещаемости проекта от 5 000 уникальных посетителей в сутки и выше, в случае использования тяжёлых модулей с большим содержанием.

Их сжатие будет не эффективным, так сказать овчинка выделки не стоит, получим плюс, минус, ноль...

Соответственно вопросы:

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

О сколько нам открытий чудных,
Готовит просвещенья дух,
И опыт, сын ошибок трудных,
И гений, парадоксов друг...
3.24

3.24
3
01.03.2017 08:34:3701.03.2017 08:40:41
Не у всех есть проблемы с мощностью сервера. Для этого есть соответствующие тарифы. Для тех у кого посещаемость 10 человек в сутки со всех сайтов, тем и не стоит заморачиваться с кешированием и оптимизацией.

Хотим сократить до самого минимума передаваемое содержимое посетителю.
Чтобы выдавалась страница сплошным кодом. Если проделывать вручную это с каждым файлом отвечающим за формирование главной, это не удобно.

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

У меня основная посещаемость с Гугла и под него я точу все свои сайты. Гугл очень любит когда сайт грузится быстро и ранжирует его выше. Поэтому работы по снижению веса страниц, времени загрузки и т.д очень актуально.

Модуль от Гугла PageSpeed, который как бы и делает все перечисленной мной выше вроде как глючный (мнение нескольких людей его тестирующих). Да и не каждый сможет установить его на сервер сам. Поэтому средствами системы, было бы проще.

P.S. Система с 1 модулем без включенного кеширования прекрасно справляется с 60 тысячной аудиторией в сутки, онлайн 2000 и с небольшими техническими характеристиками сервера. Поэтому проблема в чрезмерной нагрузке сервера думаю не актуальна у данной CMS.


Версия системы: SLAED CMS 6.* Pro
Версия PHP: 5
4.43

4.43
4
01.03.2017 20:02:2901.03.2017 20:04:40
Исходя из того что система в принципе "заточена" под скорость и нагрузку, оптимизировать стандартные функции не имеет смысла.

Соответственно рекомендую, произвести следующие действия, которые не являются сложными, справится даже начинающий пользователь.

1. Сократить размеры JavaScript-ов, таких как jquery.js, jquery.slaed.js и т.д. В стандартной версии, в директории плагинов: plugins/ уже лежат как оригиналы, так и их сжатые версии. К примеру, переименовываем сжатый jquery.slaed.min.js в jquery.slaed.js. Такие действия производим для всех существующих скриптов.

2. Сокращаем размер CSS файлов темы оформления, для этого можно воспользоваться обычным редактором, удалив все табуляторы (переносы строк), или воспользоваться онлайн сервисом: csscompressor.com

3. В основных конфигурациях системы активировать сжатие GZip.

4. Самый быстрый вариантом использования PHP считается, PHP установленный как модуль Apache сервера.

чисто только удалять пробелы из кешированных текстовых файлов

Не в коем случае не следует удалять пробелы из текста, каким образом планируете его последующее восстановление? Табуляторы да, можно удалить.

В любом случае, спасибо за поднятие вопроса! Идея с сокращением табуляторов в страницах кеширования имеет право на жизнь. При сохранении кеша, потребуется функция очистки табуляторов, это незначительная потеря скорости, но производится не часто, допустим раз в 10 минут или в зависимости от настроек. В свою очередь на выходе, имеем сокращённый код, аля "одна строка", это нам даст значительное сокращение кода и прирост в скорости передачи. Реализую уже в следующей версии Смайл - 13

О сколько нам открытий чудных,
Готовит просвещенья дух,
И опыт, сын ошибок трудных,
И гений, парадоксов друг...
3.24

3.24
5
02.03.2017 17:59:1402.03.2017 18:28:12
По оптимизации и сокращению всего, что только можно я уже сделал. Я объединил все css в один файл и сделал это же самое с js. Столкнулся вот с уменьшением веса страниц до самого нехачу и одним из вариантов был описан выше.

Еще не смог разобраться, для чего идет подгрузка <link rel="stylesheet" href="templates/моя тема/style.css">
У меня этот файл в теме пустой. Если его убрать из index.html страницы сайта, уезжает админка полностью по дизайну. Хотя сайт при этом не страдает. Пробовал перекинуть этот css в загрузку страницы админки, не помогло. Пока оставил.

По замерам загрузки сайта по Гугл добился результатов в 80 для мобильных и 93 для компьютеров. Пробовал работать дальше и убрать загрузку скриптов вниз страницы, валидатор ругаться начинает. Остановился на золотой середине.

Для кеширования страниц на стороне браузера, выставил кеширование на сервере в nginx 7 дней. Ошибка с кешированием пропала.

location ~* ^.+\.(jpg|jpeg|gif|png|css|tgz|rar|doc|xls|exe|pdf|ppt|txt|tar|wav|bmp|rtf|js|svg|js|mp3|ogg|mpe?g|avi|zip|gz|bz2?|swf|ico)$ {
expires 7d;

Еще вопрос попутный. У одного из пользователей был модуль кеширования. Он встраивался в систему и кешированные страницы были в html формате и сохранялись в свою папку кеша. Модуль хорошо работал. Вот и думаю, отдача посетителю идет быстрее текстовым файлом или в формате html?

В том модуле несколько доп. функций. Очиска кеша при превышении общего объема и по очиска старых по времени. Встроенная система кеширования как делает очистку старых файлов с истекшим временем? ЗАменяет их просто или новые добавляет к старым. У меня папка с кешем наполнилась за день до 400 мб. и насчитал около 1700 файлов.


Версия системы: SLAED CMS 6.* Pro
Версия PHP: 5
Сервер: Сервер в интернете
4.43

4.43
6
02.03.2017 20:55:07

Еще не смог разобраться, для чего идет подгрузка <link rel="stylesheet" href="templates/моя тема/style.css">

Автоматически система подключает файл стилей templates/моя тема/style.css, в нём могут быть сами стили или подключение других файлов стилей, как сделано сейчас: стили системы, стили темы, стили блоков.

Вот и думаю, отдача посетителю идет быстрее текстовым файлом или в формате html?

Разницы в принципе быть не должно, если содержание файлов одинаковое.

Встроенная система кеширования как делает очистку старых файлов с истекшим временем?

Старые кеш файлы, в зависимости от установленного времени, переписываются.

О сколько нам открытий чудных,
Готовит просвещенья дух,
И опыт, сын ошибок трудных,
И гений, парадоксов друг...
3.24

3.24
7
03.03.2017 14:38:38
Есть небольшая просьба по добавлению в настройку кеширования:

- Максимальный объем кешированных файлов, после которого происходит полная очистка всей папки.

Это будет удобно для тех, у кого например ограничение по месту на диске. В один прекрасный момент, может возникнуть проблема с сайтов и выяснить причину не всего каждый сможет!!!


Версия системы: SLAED CMS 6.* Pro
Версия PHP: 5
Сервер: Сервер в интернете
4.43

4.43
8
03.03.2017 18:46:37
Хорошо, спасибо, приму во внимание.

О сколько нам открытий чудных,
Готовит просвещенья дух,
И опыт, сын ошибок трудных,
И гений, парадоксов друг...
3.24

3.24
9
04.03.2017 17:14:1004.03.2017 17:15:04
ММмм......... никак не получается все же избавиться от подгрузки
<link rel="stylesheet" href="templates/моя тема/style.css">

Я пробовал залить в этот файл весь css сайта и оставить этот css основным.
Админка уезжает по дизайну все равно. Работает только тогда, пока файлы css всей темы не отделишь от этого. Пробовал его удалить совсем. Админка снова уезжает. Поможете убрать совсем эту запись и чтобы дизайн админ панели не уезжал?

Также этот пустой файл css дает ошибку в Гугле:

Оптимизируйте загрузку видимого контента
Для отображения верхней части страницы необходимы дополнительные сетевые запросы. Сократите объем HTML-кода в верхней части страницы, чтобы она быстрее открывалась в браузере.
Полученного HTML недостаточно для отображения верхней части страницы. Обычно так происходит, если после синтаксического анализа HTML-кода требуется загрузка дополнительных ресурсов. Передавайте в первую очередь видимую часть страницы – включите весь необходимый контент непосредственно в HTML-ответ.
После получения всех данных HTML с сервера удалось отобразить только 10 % от общего объема содержания из верхней части страницы (открыть скриншот показать оригинал).

Причина кроется в нем. Я тестировал уже. Если избавиться от загрузки этого файла, PageSpeed Insights - должен выдать 100 по оптимизации для компьютера.


Версия системы: SLAED CMS 6.* Pro
Версия PHP: 5
Сервер: Сервер в интернете
4.43

4.43
10
04.03.2017 21:26:1404.03.2017 21:28:34
1. Тема панели администратора и пользовательской частей системы взаимонезависимые. Тему администратора менять не следует, кроме администратора её никто не видит.

2. Если переносите содержание файлов blocks.css, system.css, theme.css в основной style.css, меняйте пути. Пример: ../images/editor/bb-editor.png на images/editor/bb-editor.png и т.д.

3. Можно отключить автоматическое подключение файла style.css системой, откройте файл функций ядра: function/function.php найдите строку кода ."<link rel=\"stylesheet\" href=\"templates/".$theme."/style.css\">\n" и удалите её. Но не забудьте подключить файл css в index.html самой темы, это так же актуально для темы администратора.

О сколько нам открытий чудных,
Готовит просвещенья дух,
И опыт, сын ошибок трудных,
И гений, парадоксов друг...
3.24

3.24
Открыть Ответить
Хотите опробовать SLAED CMS в действии?

Технологии

PHP MySQL HTML 5 CSS 3 jQuery jQuery UI

Контакты

  • D-49179, Deutschland
    Ostercappeln, Im Siek 6
  • +49 176 61966679

  • https://slaed.net
Идеи и предложения
Обратная связь