Я, конечно, могу провести ограниченное тестирование самостоятельно, но я надеюсь услышать мнение некоторых людей с реальным опытом работы хотя бы на средних веб-сайтах.
Два пункта в каждом списке «10 лучших» для оптимизации сайтов/пропускной способности:
- Консолидируйте как можно больше JS и CSS в один файл (чтобы сократить круговые поездки); и
- Используйте сеть доставки контента (для экономии полосы пропускания/ускорения загрузки).
В настоящее время вы можете найти почти все важные сценарии в CDN Google или Microsoft (или в обоих). Вы даже можете найти довольно тяжелые элементы, такие как пакеты jQuery ThemeRoller. Одним из основных преимуществ использования этих CDN по сравнению с частной учетной записью CDN, такой как Amazon S3, является то, что у многих посетителей уже есть кэшированные сценарии с какого-либо другого веб-сайта. Даже если они этого не сделают, трудно превзойти производительность такого сайта, как Google.
Итак, допустим, я хочу использовать эти общедоступные CDN, а не доплачивать за личную учетную запись CDN за производительность, которая может быть лучше, хуже или такой же. И давайте также скажем, что я использую кучу файлов JS/CSS, которые все находятся в этих общедоступных CDN: jQuery, jquery-ui, одна тема, jQuery TOOLS и, возможно, несколько других. В дополнение к ним я могу использовать несколько скриптов, недоступных в общедоступных CDN, таких как superfish, jquery.approach и hoverIntent. Довольно распространенная вещь на самом деле. Кажется, у меня есть два взаимоисключающих варианта:
- Обратитесь к общедоступным CDN для сценариев, перечисленных выше. Преимущество в том, что я могу использовать чужую пропускную способность и пользоваться популярностью некоторых из этих скриптов. Недостатком является то, что клиент должен сделать не менее 7 циклов обработки всех этих файлов (4 отдельных JS, 1 CSS и по 1 CSS и JS для консолидированного/минимизированного локального материала). Или...
- Втисните все в два монолитных мини-файла (один для JS и один для CSS) и обслуживайте все с моего собственного веб-сервера. Преимущество в том, что есть только две поездки туда и обратно (экономия не менее 66%). Недостаток, конечно, в том, что теперь мне самому приходится обслуживать намного большую сумму.
Это кажется трудным выбором, и я думаю, что единственный способ действительно понять, что будет работать лучше («лучше» зависит от времени загрузки клиента и общего пользовательского опыта), — это фактически выпустить его в дикую природу и посмотреть, что произойдет. .
Так приходилось ли кому-нибудь делать этот выбор раньше, и если да, то что вы выбрали, почему и насколько удачно он оказался? Или, если кто-то пытался решить задачу тестирования в изолированной среде, как вы это делали и каковы были результаты?
P.S. Все это описывает сайт типа «веб-приложение» — другими словами, не очень загруженный медиа, но может содержать массу стилей и скриптов, которые фактически составляют значительную часть размера страницы. Поэтому я считаю это чем-то большим, чем просто интеллектуальным упражнением.