Действительно ли возможно достичь оценки «А» в yahoo's yslow для всех вещей для динамического / CMS-сайта? - PullRequest
1 голос
/ 09 марта 2010

Действительно ли возможно достичь оценки "A" в yslow для всех вещей для динамических сайтов и сайтов на основе CMS (PHP / Asp.net)? и используя тот же сервер.

alt text
(источник: haacked.com )

http://developer.yahoo.com/yslow/help/index.html#performance_view

Ответы [ 4 ]

5 голосов
/ 09 марта 2010

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

Я думаю, что это редко стоит усилий, чтобы выполнить все это буквально до последнего процента, за исключением тех случаев, когда вы являетесь таким огромным сайтом, как Google или Yahoo, где каждый сохраненный байт может сэкономить десятки или сотни тысяч. Просто получите правильную оценку, чтобы все работало быстро и надежно - так же, как в школе:)

2 голосов
/ 29 июня 2010

Да. Прежде всего, попробуйте сделать все ваши JS внешними и загружать их по требованию, предварительно загружая только те компоненты, которые вам действительно нужны. Затем следите за тем, чтобы каждый файл javascript загружался по порядку. Запустите это через JSBuilder (инструмент для упаковки и сжатия JavaScript).

Включите GZIP на вашем сервере. Сжатие Gzip смогло уменьшить мои статические размеры файлов (css, js и т. Д.) На 73,43%.

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

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

Избавьтесь от своих файлов cookie или объедините их, кодируя их значения в JSON или используя серверную службу кэширования для кэширования значений, и сохраняйте только ключ кэширования в файле cookie. Таким образом, у вас есть только один файл cookie вместо сотен.

Поместите свой CSS вверху и оптимизируйте его, убрав все неиспользуемые селекторы и свойства.

Да, и подумайте о переходе на тонкий клиент ... перезагрузка веб-страницы - это 1999 год. Использование тонкого клиента позволяет вам попробовать различные методы оптимизации загрузки страниц, а также отделить ваше представление (веб-клиент) от вашего сервера и промежуточное программное обеспечение API, позволяющее разрабатывать интерфейс практически в любой среде RIA по вашему выбору. С JQuery вы можете сделать его очень легким или использовать более надежный предварительно созданный пользовательский интерфейс Ext или Dojo.

Уменьшите количество неиспользуемого HTML. Таблицы являются злыми, если в них нет абсолютной необходимости или они не вставлены в дом после загрузки страницы.

Я уверен, что некоторые из них потребуют некоторой серьезной доработки, которая может не соответствовать вашей архитектуре приложения и набору навыков разработчика. Хорошей новостью является то, что вы можете улучшить свой пользовательский опыт, просто кэшируя куки-файлы на стороне сервера (как я уже упоминал выше), распаковывая статические компоненты, комбинируя и минимизируя любые и все JS, и оптимизируя свой CSS и макет, не вдаваясь в реструктуризация вашего веб-приложения.

1 голос
/ 09 марта 2010

Конечно, почему бы и нет?

Каждый элемент ведет по ссылке с более подробной информацией о том, как получить более высокую оценку

0 голосов
/ 20 сентября 2010

Да, это возможно.

Вот пример успешного оптимизации установки Typo3 . Взгляните на этот Yahoo! страница для оптимизации вкусностей.

Стоит ли пытаться оптимизировать для уменьшения пропускной способности и скорости отклика сервера? Конечно! Многие люди подключаются через портативные устройства к дорогим тарифам на мобильные телефоны. В школьной системе, где я живу, даже есть ограниченные и дорогие планы широкополосного доступа. Ожидание загрузки веб-сайта - пустая трата времени.

...