Я прочитал, что объединение и, возможно, сжатие файла javascript заставит приложение работать быстрее, поэтому я решил попробовать.
Я полагал, что большинство моих страниц (хотя и не все) загружали как минимум 1 МБ javascript, так почему бы не сжать и не агрегировать его?
Ну, я думаю, что производительность хуже, чем раньше. Firebug сообщает, что «DomContentLoaded» занял 1,17 с на любой случайной странице приложения. Это нормально? Как, воу.
По сути, мой javascript для приложения теперь собирает все файлы для сайта. Каждый файл ищет основной идентификатор, и если он там есть, он запускает некоторый код. Если нет, то просто идет следующий функциональный блок.
Я также добавил несколько библиотек вместе с кодом своего приложения. Вот библиотеки, которые я использую. Должен ли я их объединить или нет?
<include>**/font/font.js</include>
<include>**/json/json2.js</include>
<include>**/jwplayer/jwplayer.js</include>
<include>**/underscore/underscore.js</include>
<include>**/jquery/jquery-1.7.1.js</include>
<include>**/jquery/jquery-ui-1.8.16.custom.min.js</include>
<include>**/jquery/jquery.cookie.js</include>
<include>**/jquery/jquery.jcrop.js</include>
<include>**/jquery/jquery.tmpl.js</include>
<include>**/jquery/farbtastic.js</include>
<include>**/simpleyui/simpleyui.js</include>
<include>**/audio-player/audio-player.js</include>
<include>**/tiny_mce/tiny_mce.js</include>
<include>**/jscharts/jscharts.js</include>
Я думаю, что мой большой след составляет jquery-1.7.1.js
(100k), jquery-ui-1.8.16.custom.min.js
(206k), jwplayer.js
(83k), simpleyui.js
(103k), jscharts.js
(100k) и tiny_mce.js
(186k ). Эти суммы в кб удивлены.
Я экспериментировал с сжатием контента по требованию, но на самом деле это замедляет работу. Я полагаю, что процессоры в RackSpace не очень быстрые? Это добавляет много времени к запросу. Отключение gzipping по требованию, кажется, делает вещи лучше.
РЕДАКТИРОВАТЬ: Я могу подтвердить, что размещение JavaScript в нижней части страницы не имеет никакого значения. Я могу подтвердить, что удаление всех библиотек, таких как jquery, audio-player, jwplayer и т. Д., Само по себе занимает всего 1 секунду.
Код моего приложения (который содержит гораздо больше файлов, но, возможно, меньше кода в целом), занимает от 0,2 до 0,3 секунды.
Я на 99% уверен, что проблема не имеет ничего общего с загрузкой сейчас и намного больше со скоростью выполнения.
Что бы вы порекомендовали мне сделать, чтобы улучшить производительность моих страниц?