Оптимизация сайта - минификация, спрайты и т. Д.

Я смотрю на продукт Aptimize Website Accelerator, который представляет собой фильтр ISAPI, который объединяет файлы, минимизирует css/javascript и многое другое. У кого-нибудь есть опыт работы с этим продуктом или какими-либо другими решениями "все в одном"?

Мне интересно узнать, будет ли что-то подобное хорошо работать в долгосрочной перспективе или будет более полезной ручная настройка всех компонентов (интеграция YUICompress в процесс сборки, настройка сжатия gzip, настройка заголовков истечения срока действия и т. Д.)?

Подобное решение "все в одном" выглядит очень заманчиво, поскольку оно может сэкономить много времени, если наш веб-сайт "менее чем оптимален". Но насколько эффективны эти продукты? Будет ли установка компонентов вручную привести к лучшим результатам? Или же разрыв между решением "все в одном" и ручной настройкой компонента будет настолько мал, что он будет незначительным?

3 ответа

Решение

Для начала, я думаю, вы найдете все в одном довольно хорошо. Но с течением времени, если ваш сайт имеет определенную сложность, я думаю, вы можете найти, что вы хотите больше контроля.

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

Еще один момент, который мы используем: мы склонны объединять наши JS-файлы с помощью диспетчера сценариев, который создает страницы Ashx. Насколько я знаю, не все "все в одном решении" обслуживают это. Также менеджер скриптов уже меняет заголовки в соответствии с настройками кеша, которые я для него настраиваю.

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

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

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

Надеюсь, это поможет.

ОБНОВИТЬ:

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

Я не знаю, если это все еще проблема, которая вас интересует или все еще рассматривает. Это то, чем я интересовался на протяжении многих лет. Я обнаружил, что многие из методов оптимизации веб-страниц на уровне "клиента" (мы не говорим об оптимизации на стороне сервера / БД) довольно просты и не являются технически сложными. Задача состоит в том, чтобы просто идти в ногу со всеми лучшими практиками по мере развития вашего сайта. Это особенно сложно в больших и занятых командах. Я обнаружил, что легко не спрайтовать и не корректировать все заголовки просто потому, что вы сосредоточены на том, чтобы получить доступ к функциональности для предстоящего выпуска.

Поэтому я думаю, что решение "все в одном" может быть полезным, если все сделано правильно, но, вероятно, никогда не ВСЕ в одном, а больше похоже на "МОСТЛИ" в одном. Каждый сайт индивидуален, и я не думаю, что существует идеальное решение, подходящее под любой размер.

Тем не менее, я недавно выпустил свой собственный проект с открытым исходным кодом, нацеленный на эту проблему под названием RequestReduce. Это незавершенная работа, которая еще не включает слияние / минификацию JS. Это БЕСПЛАТНО и предназначено для оптимизации страниц с минимальным вмешательством в кодирование. Мое видение состоит в том, что он оставляет ваш код в покое. Это может изменить его, но само по себе и без нарушения функциональности. Кроме того, во время разработки все должно быть так, как вы его оставили. В настоящее время это решение объединяет / минимизирует CSS, автоматически разбрасывает фоновые изображения, оптимизирует цвета и сжатие этих изображений и оптимизирует заголовки кэширования сгенерированных файлов CSS и спрайтов. Он работает с любым сайтом на основе IIS. Я планирую добавить js minify / merge, оптимизацию изображений переднего плана и спрайтов и минимизацию html. Он работает в многосерверных средах и с CDN. Я работаю в Microsoft, и хотя это личный проект, над которым я работаю в свое свободное время, я использовал его в некоторых свойствах MS, таких как галерея Visual Studio и другие.

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

Пожалуйста, рассмотрите Helicon Ape http://www.helicontech.com/ape. Как комплексное решение, оно включает в себя множество полезных функций, таких как перезапись URL-адресов, оптимизация SEO, прокси-сервер, сжатие GZIP, кеширование диска / памяти, защита веб-сайта / сервера и т. Д. Вы можете легко попробовать, потому что у Ape нет бесплатных лицензия на 3 сайта.

Другие вопросы по тегам