ExBB Community » » Настройка форума » Пара вопросов по оптимизации форума

Страниц (1): [1]
 

1. nikk - 19 ноября 2013 — 22:43 - перейти к сообщению
Здравствуйте други! Улыбка

Возник у меня значит вопрос, вот на этой странице Гугли:

https://developers.google.com/sp...&tab=desktop

Гугль пишет:
CODE:
Если указывать в заголовках HTTP дату или срок действия статических ресурсов, браузер будет загружать уже полученные ранее ресурсы с локального диска, а не из Интернета.
и дан целый список страниц мого форума... Cписок очень большой!
Как и где можно включить это кэш браузера?



2....

Далее: Гугль советует

тыц (Отобразить)


Опять же, как это исправить?
Всем спасибо за ответы..
2. gudman - 20 ноября 2013 — 04:58 - перейти к сообщению
nikk пишет:
Как и где можно включить это кэш браузера?

С помощью meta тегов прописать нужное правило кеширования в all_header.tpl
(Добавление)
CODE:
<meta http-equiv="expires" content="Sun, 24 jan 2010 12:28:36 GMT+03:00">

Для того чтобы ускорить загрузку страницы, а так же сэкономить трафик современные браузеры сохраняют посещаемые пользователем страницы в кэш (на жёсткий диск), и при повторном посещении загружают их не с сервера, а непосредственно с кэша. На самом деле такая функция хороша собой.. но есть одно "но", дело в том что в браузере может отображаться уже устаревшая информация, какой либо страницы. Представьте, к примеру, Ваш сайт представляет собой некое периодическое новостное интернет издание, а пользователь получит, вместо самых свежих новостей, уже устаревшую информацию, ту которая хранится у него в кэше!! и не разобравшись в чем "беда" примет Ваш сайт за "мертвый" заброшенный и никем не обновляемый.

Для того чтобы принудительно заставить браузер загружать ту или иную страницу не с жёсткого диска, а с сервера необходим мета тег с данным синтаксисом, где указывается день недели, число месяц год время (чч:мм:сс) и часовой пояс(GMT+03:00 - время Московское + три часа). День недели и время дня можно не указывать. Теперь при чтении страницы браузером страница будет грузится с сервера, если указанная дата и время настало или просрочено, и напротив из кэша если указанное время еще не наступило.
3. Zeg - 21 ноября 2013 — 00:05 - перейти к сообщению
gudman, немного запутываете.

nikk пишет:
Как и где можно включить это кэш браузера?


gudman пишет:
С помощью meta тегов прописать нужное правило кеширования в all_header.tpl
CODE:
<meta http-equiv="expires" content="Sun, 24 jan 2010 12:28:36 GMT+03:00">

Этим вы отключаете кэширование, т.е. документ всегда устаревший и его нужно грузить с сервера, а не кэша:

Цитата:
Теперь при чтении страницы браузером страница будет грузится с сервера, если указанная дата и время настало или просрочено, и напротив из кэша если указанное время еще не наступило.
4. nikk - 21 ноября 2013 — 14:36 - перейти к сообщению
Так а что прописать в заголовках ? И где?
5. gudman - 21 ноября 2013 — 20:51 - перейти к сообщению
ну понятно что в all_header.tpl нужно прописывать, а вот как строку правильно сформировать тебе наверное Zeg правильней подскажет!
6. Yamaliya - 23 ноября 2013 — 05:59 - перейти к сообщению
Zeg в приципе способен давать ответы на многие нестандарные вопросы, по количеству и качеству полезных ответов он у меня один из самых лучших! Воздушный поцелуй
Ждала, думала само появится решение проблемы, меня тоже интересует вопрос nikkа по пункуту 2
7. Zeg - 23 ноября 2013 — 13:38 - перейти к сообщению

wasp, снова приятные слова, спасибо.

По форуму Никка: в свое время там уже проводилась большая оптимизация кода в плане увеличения скорости загрузки страниц все по ниже приведенным рекомендациям.

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

Базовое:

1. Проанализировать и немного оптимизировать css. Код по возможности сократить (этот пункт дает совсем незначительный прирост производительности, почти никак не заметный), но без фанатизма (пока что, об этом ниже).

2. Оптимизировать шаблоны: вполне прилично может затормозить загрузку страницы неоптимизированная графика (размеры некоторых графических элементов шаблона могут иногда ужиматься в разы без потери какого либо заметного качества). Кажется, что там дает 1-2Кб? А много, если таких элементов десятки.

3. Оптимизировать html- код страницы. Убрать лишние заголовки в header-е: часть из того, что есть в изначальной инсталляции и тянется у многих с первых версий форума - давным давно устарели и никак не влияют и не работают. В некотором случае - даже мешают (это уже вопросы SEO, пока не о том). Сам код желательно, но не обязательно на все 100%, приблизить к валидному, т.е. соответствующему стандарту. До 100% доводить смысла не вижу (мы уже давно не в 90-х, браузеры пишут умные люди - это если кратко). Сам процесс исправления (и подгонки под валидный) кода имеет огромны плюс - даже в стандартных шаблонах хватает кривизны, как в плане синтаксиса, так и использования тех или иных тегов и атрибутов. Частично это решается просто.

Например, значительно влияет на загрузку такая, казалась бы мелочь - у загружаемых картинок шаблона не установлены прямо в коде их размеры (т.е. для тега img нет указания width и height). Да, без них страница загрузиться. Но в процессе ее будет "плющить и колбасить", ведь для того, что бы рендер отрисовал страницу, должны загрузиться все ее элементы. Вот он и париться, постоянно ее перестраивая, пока подгружается графика. Заодно, раз мы решили делать валидный код, не мешает помимо размеров для картинок указать атрибут alt. Рекомендуется даже вплоть до того, что оставить его пустым (alt="").

4. Очень сильно на скорость загрузки страницы влияет всякий посторонний мусор в виде многочисленных баннеров, которые загружаются со сторонних ресурсов. Ладно, если там всего лишь ссылка и картинка. А если там флеш или java (различные гугл ад-сенсы, виджеты многочисленных социалок или того хуже различная тизерная реклама от сомнительных конторок)? Вот тут наступает вообще полная ..опа )))

Благо, появился способ это победить - погуглите по запросу "асинхронная загрузка java". Если кратко - многие адекватыне конторы уже дают код асинхронной загрузки, для многих других он уже написан энтузиастами. Кстати, ответ на второй вопрос Никка - именно на это у Никка и ругается, т.е. сейчас приходится грузить объемный java-код еще до загрузки самой страницы, хотя для отрисовки страницы (и загрузки) он скорее всего не нужен.

5. Я считаю не таким уже маловажным включенное сжатие трафика на самом хосте. Есть возможность включить сжатие html-а средствами самого форума (не знаю, почему многие это не используют, при верно настроенном сервере проблем не возникало никогда). Но все же, если сжатие включено на сервере (Никк, я тебе уже писал об этом!), то сжатыми передадутся также стили css и java-скрипты. Т.к. все вышеперечисленное - фактически просто текст, сжатие и уменьшение передаваемого трафика доходит до 6-8 крат.

Сжимать можно любые типы файлов, если хостер позволяет, то управлять можно прямо из .htaccess
-----------------------

Теперь для фанатов:

1. Java и CSS ужать в одну строку, выкинуть лишние пробелы и символы. Сомнительное ускорение, ведь код станет почти нечитаемым. Можно делать, как по мне, только для тех файлов, в которых , вы уверены, ничего править больше не придется.
2. Часть графики (в основоном мелкие элементы оформления) сделать в виде спрайтов, выводимых через css (проще и быстрее загрузить один большой файл, чем 100500 маленьких).
3. Для гурманов - побаловаться разным кешированием, заголовками и пр. Я пока мало этим занимался, польза сомнительная, если постоянно не отслеживать тенденции поведения как поисковых ботов, так и различных браузеров. Т.е. трудоемкость высокая, полученная производительность - не велика. Причина озвучена выше - браузеры и боты уж давно не те, они умные и часто им плевать на ваши ласт-модифиты и экспиренсы, по крайней мере заданные через meta-теги (это еще один ответ на первый вопрос Никка)
-----------------------------------------

Все изложенное выше - это очень бегло, базово и кратко. Поле для деятельности - огромное. )))

зы. Над асинхронной загрузкой java я сейчас работаю. Пока перевожу на нее социалки, их виджеты, потом постараюсь посмотреть по стандартному коду форума. Но не обещаю, банально нет времени.
8. Yamaliya - 24 ноября 2013 — 06:28 - перейти к сообщению
Zeg, я в ступоре. Всегда относилась к вашим советам как к самым разумным и действенным. И что же вы советуете на этот раз? Ваши советы относятся скорее к разработчикам форума, нежели кому либо в частности.
9. Yamaliya - 24 ноября 2013 — 06:33 - перейти к сообщению
Добавлю, или повторюсь, как вам больше нравится. Никк задал конкретный вопрос, мне ответ на пункт 2 тоже интересен. Не надо много букв, просто скажите что нужно сделать.
10. gudman - 24 ноября 2013 — 06:56 - перейти к сообщению
Так а тут не решить проблему парой строк! Я так полагаю zeg пытался сксзать, что нужно оптимизировать весь движок комплексно!
11. Zeg - 24 ноября 2013 — 16:20 - перейти к сообщению
Именно на те ошибки, где ругается на java-скрипты вообще пока не обращать внимания. Ничего с этим не поделать. Нужна комплексная оптимизация как движка, так и генерируемого им кода.

А что можно и нужно делать с существующим двигом форума по мелочам я как раз и изложил в том мега-посте с множеством букв.

По мере наработок нужно делить и выкладывать их, своевременно вносить в дистрибутив.

Яндекс.Метрика   

Powered by ExBB
[Script Execution time: 0.0506]     [ ]