K900 14.07.2011 22:20
welinux — Правда про оптимизацию
Ответ на предыдущий пост юзера kraplax.А теперь давайте посмотрим, кто и в чем виноват. По пунктам.
Используйте кэш браузера
Вот кто у нас его не использует:
http://site.yandex.net/i/form/search.png (не указан срок истечения действия)
http://site.yandex.net/i/form/yandex-hint.png (не указан срок истечения действия)
http://mc.yandex.ru/metrika/watch.js (60 минут)
http://pagead2.googlesyndication.com/pagead/show_ads.js (60 минут)
http://feeds.feedburner.com/~fc/welinux?... (2 часа)
http://www.google-analytics.com/ga.js (2 часа)
http://pagead2.googlesyndication.com/.../abg-ru-100c-000000.png (24 часа)
http://pagead2.googlesyndication.com/.../expansion_embed.js (24 часа)
http://pagead2.googlesyndication.com/pagead/sma8.js (24 часа)
http://site.yandex.net/i/form/yandex-hint.png (не указан срок истечения действия)
http://mc.yandex.ru/metrika/watch.js (60 минут)
http://pagead2.googlesyndication.com/pagead/show_ads.js (60 минут)
http://feeds.feedburner.com/~fc/welinux?... (2 часа)
http://www.google-analytics.com/ga.js (2 часа)
http://pagead2.googlesyndication.com/.../abg-ru-100c-000000.png (24 часа)
http://pagead2.googlesyndication.com/.../expansion_embed.js (24 часа)
http://pagead2.googlesyndication.com/pagead/sma8.js (24 часа)
Оказывается, что вилинукс тут вообще ни при чем, потому что код счетчиков поменять нельзя. Забавно то, что в списках числится и созданный самим Гуглом Analytics.
Уменьшите число переадресаций
И снова уже знакомые нам http://counter.yadro.ru/ и http://mc.yandex.ru/
Отложите синтаксический анализ JavaScript
http://welinux.ru/media/CACHE/js/43e6f3a12fff.js не изучал, сказать не могу, пусть разъяснит exelens или nvbn. А вот остальное - все те же счетчики.
Используйте асинхронные ресурсы
Разместите CSS в заголовке документа
И опять Google Analytics.
Укажите валидатор кэша
Удалите строки запросов из URL статических ресурсов
А тут у нас скрипт FeedBurner, и опять чужие ошибки сказываются на скорости самого сайта.
Укажите заголовок Vary: Accept-Encoding
В основном счетчики, а раз они уже ломают, то можно ничего не трогать :)
Вывод.
Из всех советов гугла на самом деле актуальны два - CSS-спрайты для картинок и сжатие HTML. Остальное же - косяки счетчиков, включая подконтрольный самому гуглу Analytics.
Бред, чтоб получить страничку сначала дёрнется dns либо его кэш, потом запрос к серверу, далее будет загрузка и только после этого отображение.
В случае с кешем путь намного короче и быстрее)
В случае с кешем путь намного короче и быстрее)
Тогда это скорее всего не кэш тормоз, а что-то нехорошее с фс/жд/оперативкой.
ты сам себе противоречишь :)
с железом у тя всё норм, но с инета загрузить быстрее чем с жесткого диска? :)
То есть ты хочешь сказать что скорость чтения (приблизительно) 300 мбит без задержек особых работает медленнее чем твой интернет с учетом всех шлюзов? :)
с железом у тя всё норм, но с инета загрузить быстрее чем с жесткого диска? :)
То есть ты хочешь сказать что скорость чтения (приблизительно) 300 мбит без задержек особых работает медленнее чем твой интернет с учетом всех шлюзов? :)
а еще при большом количестве ресурсов (картинок, js,css), которые не сохраняются в браузерном кеше, эти самые ресурсы будут запрашиваться каждый раз с сервера, внося этим задержки ибо браузер не запрашивает\загружает все одновременно.
хз хз.
только что замерил время загрузки глагне в FF с выключенным и включенным браузерным кешем (about:config - network.http.use-cache):
выключено - 1.5-1.9 секунды
включено - 900мс-1.2 секунды
только что замерил время загрузки глагне в FF с выключенным и включенным браузерным кешем (about:config - network.http.use-cache):
выключено - 1.5-1.9 секунды
включено - 900мс-1.2 секунды
> Используйте кэш браузера
>> коайне неудобная хрень:
Ога, особенно на галимом gprs...
>> коайне неудобная хрень:
Ога, особенно на галимом gprs...
я про нормальный канал
и да - мне не нужна старая страница
мне нужна новая
так-то
и да - мне не нужна старая страница
мне нужна новая
так-то
Кэп намекает, что новая страница не должна быть при нажатии "Назад".
Новую страницу можно легко получить, нажав обновить. А как получить именно ту, что была, когда её просматривали?
"обновить" по моему тоже не загружает на 100% новую страницу, а по запросу юзает кэш.
Если нужно новая страница то нужно обновлять принудительно (в FF ctrl+F5).
Как-то так :)
Если нужно новая страница то нужно обновлять принудительно (в FF ctrl+F5).
Как-то так :)
настоящий Кэп намекает - лишние телодвижения ты описал
ман юзабилити, что ли
ман юзабилити, что ли
Юзабилити в ущерб функциональности плюс возможность потерять важную информацию?.. - Нет, спасибо.
Пробовал я. Меня раздражает [новая страница не должна быть при нажатии "Назад"], а иногда очень сильно расстраивает [плюс возможность потерять важную информацию], когда при нажатии "назад" я вижу не то, что было там раньше (если, например, страничка уже выкинута из кеша). Если вам никогда не были нужны сведения с посещённых страниц, то не надо клеймить тех кому они нужны. Это как раз и выглядит как
понятно - не пробовал, но осуждаю
ты опять всё перепутал
кэш искаропки есть
так что я не попробовать его никак не мог, оха!?
а мне вот неинтересно старая версия из кэша
тем более у меня навигация вся на мыше (кнопочков много)
потому кэш меня бесит ещё больше - ннажать 1 кнопочку или 2, есть разница, не находишь!?
кэш искаропки есть
так что я не попробовать его никак не мог, оха!?
а мне вот неинтересно старая версия из кэша
тем более у меня навигация вся на мыше (кнопочков много)
потому кэш меня бесит ещё больше - ннажать 1 кнопочку или 2, есть разница, не находишь!?
Я понимаю, что вы то, что удобно вам, называете единственно правильным.
коайне неудобная хрень:
при возврате на страницу я получаю без него страничку в текущем состоянии, а не какой она была ранее
при возврате на страницу я получаю без него страничку в текущем состоянии, а не какой она была ранее
....
итого: выпилил нахрен сие непотребство
я говорил за себя, не находишь!? ;)
сколько тут зомбированных:
1. показать лицо боятся
2. обосновать мнение не могут
3. оспорить моё тоже не могут
только минисуют
не мужики!
тьфу
1. показать лицо боятся
2. обосновать мнение не могут
3. оспорить моё тоже не могут
только минисуют
не мужики!
тьфу
Так что тебе возражать, если ты сам вбросил, а обосновать вброс забыл.
Счётчики и дёргалки апишек не могут использовать кэш. Это же не просто скрипты, там дёргается сервер, а он модифицирует скрипт и вносит изменения на сервер.
Тут картинок мало, и в основном это аватарки, а делать спрайт для аватарок - очеь жирный оверхед.
Используется.
CSS-спрайты для картинок
Тут картинок мало, и в основном это аватарки, а делать спрайт для аватарок - очеь жирный оверхед.
сжатие HTML
Используется.
Про картинки не в спрайтах он (сервис) подробно говорит, какие именно картинки было бы неплохо объединить, и там нет аватарок:
Про сжатие HTML - я так понимаю, ему не нравится огромное количество пробелов/переводов строк в HTML-коде на глагне. Их убрать было бы неплохо. Правда, я не очень знаю, как это вылечить в джанге. Для сервлетов, например, есть специальный фильтр, подключаемый в томкате, режущий все лишние пробелы и переводы строк.
1 2 3 4 5 6 7 |
Про сжатие HTML - я так понимаю, ему не нравится огромное количество пробелов/переводов строк в HTML-коде на глагне. Их убрать было бы неплохо. Правда, я не очень знаю, как это вылечить в джанге. Для сервлетов, например, есть специальный фильтр, подключаемый в томкате, режущий все лишние пробелы и переводы строк.
Со своими бы разобраться...
Там кстати делов-то на 30 минут.
Да и пробелы тоже думаю довольно легко решаются.
Там кстати делов-то на 30 минут.
Да и пробелы тоже думаю довольно легко решаются.
Получено из генератора, но вообще должно сработать :)
Ну и добавить
Собственно спрайт
Ну и добавить
1 |
Собственно спрайт
А затем, что если они будут вставляться в какой-нить див, по размерам больше иконки, а иконки будут идти вполтную, то будет видна не только нужная иконка, но и соседние.
про лишние пробелы +1
это django виновата? в RoR таких проблем нету - можно убрать все лишние пробелы
это django виновата? в RoR таких проблем нету - можно убрать все лишние пробелы
Да, похоже что джанга - проверил у себя, у меня тоже куча строк пустых.
Похоже, что на каждый template-тег ставится по переводу строки (ну, как минимум это так, если эти теги стоят на отдельной строке).
Такая же фигня есть в JSP и сервлетах, но там я это легко фиксил с помощью специального фильтра.
Похоже, что на каждый template-тег ставится по переводу строки (ну, как минимум это так, если эти теги стоят на отдельной строке).
Такая же фигня есть в JSP и сервлетах, но там я это легко фиксил с помощью специального фильтра.
Не знаю, как шаблоны в джанге, а в jinja2 (вроде как, аналогичный движок) есть такая фишка: если в их тэгах вместо {% ... %} ставить {%- ... -%}, то пробелы исчезнут.
Собственно, народ дело говорит. Как минимум спрайты снижают нагрузку на сервер в первую очередь, уменьшая количество запросов.
Никто ж не обвиняет разработчиков, что они это намеренно недоделали.
Никто ж не обвиняет разработчиков, что они это намеренно недоделали.
Это все равно что есть с пола отбросы, когда перед вам стол напичканный деликатесами :)
Те более у нас тут не сайт про то как завязывать шнурки модно, про линукс все-таки
Те более у нас тут не сайт про то как завязывать шнурки модно, про линукс все-таки
А что, только апач обрабатывает запросы? Уменьшение числа запросов благоприятно для любого сервера, будь то нгинкс, апач или SimpleHTTPServer.
В общем, из сего поста вынес основную идею - счётчики и дальше надо блокировать, ибо сие есть тормозящее загрузку страниц непотребство (с точки зрения конечного пользователя (как минимум меня :))).
при возврате на страницу я получаю без него страничку в текущем состоянии, а не какой она была ранее
при хорошем канале страничка загружается быстрей, чем оная найдётся в кэше
итого: выпилил нахрен сие непотребство