Я собираюсь начать работу над выполнением некоторых улучшений производительности для одного из наши продукты. Наши пользователи подключаются к сети по радио, что очень медленно. Основные узкие места в приложении - это сеть и база данных. Я собираюсь сосредоточиться на уменьшении нагрузки на сеть, занимаемой приложением.
Я собираюсь начать с нескольких «быстрых побед», прежде чем я перейду к мелочам - разорвать UpdatePanels на части, удалить ненужный контент и все остальное, что я могу придумать.
Прямо сейчас у меня есть несколько вещей, которые, я думаю, я готов реализовать
К ним относятся
Редактировать: Инструменты минимизации ресурсов и очистки пустого пространства работают вместе достаточно хорошо.
Однако у меня есть несколько вещей, которые я не знаю, как я буду решать.
Некоторые ресурсы Microsoft ( WebResource.axd? D = blahblah
и ScriptResource.axd? D = blahblah
) не уменьшаются. Это и Это и некоторые другие в зависимости от страницы. Хотя Microsoft.Ajax в порядке. Как я могу вручную минимизировать эти файлы, если они не уменьшаются автоматически? Мне где-то не хватает настройки?
Можно ли объединить ресурсы Microsoft в один файл js с моим javascript?
Ошибка 401. В скрипачке я вижу, что мое первое обращение к веб-сайту всегда дает ошибку 401, за ней сразу же следует обычная 200. Также другие ресурсы случайным образом будут иметь 401 при первом вызове. Это какой-то параметр IIS, который нужно настроить для удаления этого ненужного вызова?
Javascript внутри файлов aspx. К сожалению, у нас есть много js внутри наших aspx файлов, а также много javascript, который обрабатывается с использованием ScriptManager.RegisterStartupScript
в нашем коде позади. Как мне выполнить минимизацию javascript в тегах
в разметке aspx?
Обновление
Объединитель Мэдса Кристенсена отлично работает. Однако я обнаружил, что есть проблемы с некоторыми страницами, которые содержат 14+ ссылок на axd, которые вызывают ошибку 404.15 (строка запроса слишком длинная, т.е. только ошибка). Мое решение для этого заключалось в том, чтобы gzip и base64 кодировали строку запроса.
Я обнаружил, что объединение моих js-включений с файлами .axd - бесплодная задача, поскольку файлы .axd различны для каждой страницы.Разделение моих статических js-файлов приводит к дополнительному запросу на обслуживание, но он останется кэшированным на клиенте, вместо того, чтобы клиент повторно загружал эти скрипты как часть объединенного js-файла axd.
Я включил анонимную аутентификацию. Больше никаких проблем.
Нет прогресса.
Я обнаружил, что необходимо поместить favicon.ico в корень. Я думаю, это может быть связано с тем, как было спроектировано мое приложение.