Вы просто сможете использовать директиву Alias
для псевдонима /served/
для рассматриваемой папки мультимедиа. Так, например:
Alias /served/ /home/example.com/public_html/media/
Это будет означать, что запрос к http://example.com/served/filename.jpg
будет преобразован в /home/example.com/public_html/media/filename.jpg
. Вы можете сделать то же самое для ресурсов в /static/
.
(Обратите внимание, что в приведенном выше примере используется example.com
, а не mydomain.com
из-за ограничений SO .)
Точки, сделанные в вопросе, являются микрооптимизациями. Я не соглашаюсь с самой предпосылкой, которая "каждый немного помогает" - особенно, если это прибывает за счет удобочитаемости.
Вы видите, если можно прочитать и понять код действительно легко, который означает, что можно сделать изменения в архитектуре легко. Это - то, где действительно большие победы, не микрооптимизация. Чем больше Вы пытаетесь настроить heck из каждой строки кода, тем тяжелее это будет, осуществляют рефакторинг целый дизайн.
Таким образом, мои подсказки:
Ни одно из этого не характерно для веб-приложений, до сих пор. Для веб-приложений (и серверная сторона в целом):
Править: Я не обратился к базе данных вообще. Ответ Kyle хорош на той передней стороне. Удостоверьтесь, что Ваша база данных может масштабироваться также, если это возможно, :)
самые большие усиления, которые Вы собираетесь видеть в (почти) любом приложении, настраивают Вашу базу данных.
Кодирование...
База данных...
И если все остальное перестало работать, кэшируйте дерьмо из него и бросьте больше аппаратных средств в проблему!:)
Мы имеем дело с этим каждый день.
Мы ДЕЙСТВИТЕЛЬНО кэшируем некоторые наборы данных, которые используются МНОГО. У нас есть довольно сложный механизм кэширования слоя данных, который работает хорошо на нас.
Отложенные вычисления для примерно всего.
Страница - и частичное кэширование для пользовательских элементов управления
Мы не используем состояние сеанса вообще, таким образом, мы отключили его в целом.
Настройте веб-сайты для выполнения как известное - низкий-prived пользователь.
Соединитесь с SQL Server как тот же низкий-prived пользователь. Это помогает с организацией пула подключений - все соединения являются по существу тем же.
НИКАКОЙ специальный SQL. Сохраненный procs ТОЛЬКО. Помогает с производительным И Внедрением SQL.
строка. Concat () вместо строки + представляют в виде строки +... или StringBuilder
За исключением manwood никто не упомянул ViewState, и это довольно удивительно. Я проголосовал бы за управление состоянием отображения как за единственные наиболее важные факторы для производительности improvment.
Мой список:
Править: [добавленный 6-8]
Microsoft опубликовала книгу под названием Улучшение Производительности приложения.NET и Масштабируемости. Это - необходимость книга чтения.
Кроме базы данных другой очень imporant вещь смотреть...
размер страницы и количество запросов. Это должно обойтись без помощи высказывания, но ASP.NET известно плох при заполнении Ваших страниц с набором загаженного производства (подвозящий размер) и создающий миллион внешних файлов сценария (количество запросов).
исследуйте журнал и минимизируйте сумму HTML, подаваемого на запрос. состояние отображения и чрезмерно увеличенные в размере сторонние средства управления могут разрушить Ваше приложение. Например, мы использовали в течение долгого времени сетку от очень очень способного infragistics., но даже в ее разделенной форме она сделала страницы о 60-90k + много сценария Java. это сильно ограничило количество запросов, мы могли сервер, даже на внутреннем гигабитном соединении.
По моему опыту, следующее имейте большое значение:
Если Ваши веб-серверы загоняются огромным количеством одновременных запросов, и каждая страница запросы, кажется, занимает больше времени и дольше к сервису, можно хотеть рассмотреть преобразование в асинхронную модель обработки страницы.
Масштабируемые приложения с асинхронным программированием в ASP.NET