Оптимизация сайта - минификация, спрайты и т. Д. - PullRequest
4 голосов
/ 23 марта 2010

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

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

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

Ответы [ 3 ]

2 голосов
/ 23 марта 2010

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

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

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

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

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

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

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

UPDATE:

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

0 голосов
/ 22 сентября 2011

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

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

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

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

0 голосов
/ 24 марта 2010

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

...