Оптимизация ASP, технология ASP Cache
1. Что такое кэш ASP/Почему кеш
Когда ваш веб -сайт будет установлен в первые дни технологии ASP, вы можете почувствовать удобство, вызванное динамическим веб -технологией ASP, а также случайным модифицированным и бесплатным управлением HTTP. Однако по мере увеличения количества посещений вы определенно обнаружите, что доступ к вашему сайту становится медленнее и медленнее, и IIS имеет все более и чаще. Затем вы должны хотеть оптимизировать ASP, например, замену более хороших баз данных, установление индексов, написание процедур хранения и так далее. Некоторые из этих мер не должны повышать давление затрат, в то время как некоторые из затрат давления (например, доступ к кластеру к SQL), и этот эффект не обязательно.
Столкнувшись с давлением доступа к Интернету, я думаю, что наиболее экономичным методом является использование технологии оптимизации кэша для снятия давления услуги в Интернете.
Увеличение объема доступа в Интернете обычно означает быстрый рост следующего спроса на ресурсы:
1. Повышенное трафик сетевой карты, необходимо потреблять больше процессора по обработке сетевого трафика и потоков ввода -вывода сети.
2. Необходимо чаще открывать/закрывать подключение к базе данных (если используется технология базы данных -обычно ASP будет использовать базу данных в качестве хранения данных), количество вещей, которые серьезно потребляют ресурсы, и тупик, вызванный конкурирующими ресурсами Транзакции, которые увеличат потребление ввода/вывода сети.
3. Если сеанс используется, IIS будет потреблять больше памяти, чтобы поддерживать статус, а потребление памяти может вызвать недостаточную физическую память, что приведет к частым обмену между физической памятью и вспомогательной памятью, что приводит к прекращению выполнения кода
4. Из -за своевременного ответа доступа будет вызвана сбой доступа к веб -странице, что приведет к обновлению пользователей, что усугубляет потребности процессоров, памяти и других ресурсов.
Фактически, учитывая обычное веб -приложение, много раз динамическое выполнение кода не нужно.
2. Классификация кэша ASP
Подводя итог без разрешения, кэш ASP можно разделить на две категории:
1. Кэш файла
Таким образом, кэш файлов должен судить в соответствии с логическим суждением. Можно получить доступ к статическому файлу из перенаправления веб -технологий, чтобы удовлетворить потребности сокращения процессоров, ресурсов базы данных. Есть много таких приложений. Замок имеет побочный эффект (выгода) -Это может быть легко включено поисковыми системами, такими как Google. Некоторые так называемые системы пресс -релиза приняли эту технологию.
2. Кэш разрыва фильма файла
Тай -называемый кэш файлов также основан на логическом суждении. Данные в форме файлов. Например, мы обычно храним некоторые данные в формате XML, а затем используем технологию XSLT для реализации дисплея (обработка XML обычно требует большого количества ресурсов процессора, поэтому IE обычно читает XML непосредственно клиенту, чтобы обрабатывать его на процессоре клиента). Вот как обрабатывается форум CSDN.
3. Основной кеш памяти
Кроме того, вы также можете рассмотреть вопрос о работе с кэшем в памяти и сохранить контент, который должен своевременно реагировать в памяти. Если большое количество потребностей доступа сосредоточено на нескольких небольших страницах или основном хранилище, я хочу использовать основной кэш памяти, чтобы значительно улучшить производительность доступа в Интернет.
3. Как достичь/использовать кеш
Следующие проблемы необходимо рассмотреть для реализации кэша:
1. Какие страницы не изменятся за короткое время?
Проанализируйте свой собственный сайт, есть много страниц. Например, на сайте обычно есть новости и информационные столбцы. Затем эти страницы подходят для кэша со статическими файлами. На самом деле, So -Shalled System Press Release выполняется, поэтому вы также можете ссылаться на идеи этих систем для преобразования вашей оригинальной динамической страницы ASP.
2. Эти страницы генерируются для всех посещений, чтобы генерировать ту же логику (то есть не различать посетителей).
За исключением столбцов, таких как новости и информация, все посетители смотрят на интерфейс, и применение ресурсов, таких как форумы и другие ресурсы потребления, как правило, можно спроектировать как единое генерация логики (в том же посте, Чжан Санли и SISI одинаковы. ). Вы также можете рассмотреть возможность разрыва данных и использование технологии сценариев в дополнение к мощности обработки сервера, то есть клиентского браузера для обработки.
3. Используйте стоимость и урожай кеша.
В основном время для изменений пространства (ответ). Используйте технологию Cache, чтобы предварительно обработать часто необходимый контент, чтобы улучшить способность отклика веб -сервера и, что более важно, выиграйте услуги посетителей.
Цена заключается в том, что спрос на веб -пространство увеличивается, и это может повлиять на эффект доступа.
Но я думаю, что правильный кэш больше, чем недостатки.
4. Вместо использования кеша в этих местах
Страница динамического запроса, содержание запросов каждого человека отличается, поэтому результаты дисплея не одинаковы, поэтому он вряд ли генерирует кэш результатов запроса, поэтому кэш более сложный и в нижней части частоты использования кэша, что приводит к Стоимость управления.
В -четвертых, анализ экземпляра
Предположим, что оригинальная планировка предложенного форума заключается в следующем:
В корневом каталоге:
Default.asp домашняя страница, обычно сущность, рекомендация и тому подобное
ListBorad.asp Этот файл перечисляет имена и введение всех столбцов.
ListThread.ASP В файле не есть каких -либо параметров, чтобы указать все наклейки и переносить основные, чтобы представлять все наклейки определенного произведения. Если не соответствует указанному сообщению конкретного столбца. Если вы несете параметр страницы, чтобы указать на страницу темы.
ViewThread.asp перечисляет определенное содержание наклеек. Мы предполагаем, что сообщения отображаются в виде речи, и все следуют за наклейками, перечисленными позади. Параметр ID - это пост, который будет отображаться.
Ответить.asp отвечает на определенный пост, переносите идентификатор параметра, чтобы ответить на определенное сообщение
Никакого другого обсуждения.
Выше мы видим, что если все они выполняются с использованием исходного ASP/PHP, выполнение почти каждого файла ASP требует операций базы данных, частых запросов и нескольких запросов. Следует известно, что база данных запросов в конечном итоге принесет снижение производительности, скорость отклика уменьшается, а влияние медленного просмотра на посетителей не будет способствовать качеству Интернета. Что еще более важно, для двух человек в A и B они посещали ViewThread.asp и тому подобное, если идентификаторы являются последовательными, то много раз они увидят тот же контент (код HTML, полученный их браузером, почти одинаково), но для Для этого в том же контенте сервер должен открыть подключение к базе данных, запросить, записать записи и показать, что записи и подключения к базе данных закрыты. Сущность Сущность Сущность Если к большему количеству людей доступа к большему количеству людей, конечным результатом является то, что эти люди усугубляют ресурсы сервера. Фактически, дубликат труда для того же контента может быть оптимизирован с помощью технологии кеша. например:
После отправки содержимого repy.asp мы сразу же вызвали статическую функцию, чтобы сгенерировать статическое содержание в статические файлы HTML, такие как ViewThread_xxxx.htm, а затем при посещении ViewThread.asp? соответствующий статический файл viewthreadxxxx.htm. Таким образом, когда пост не является последним, он всегда предоставляется статическому контенту зрителя;
ListBorad.asp также может реализовать Static. Мы можем проанализировать параметры, которые могут быть перенесены, установить имя файла кэша в lectboard_xx.htm и обновить lectboard_xxx.htm при добавлении нового столбца. ListThread.asp похож, но из -за большего количества параметров будет много файлов кэша. Если вы хотите кэшировать listthread.asp? То же самое относится и к default.asp.
Так как судить, когда обновлять? В какое время обновлять?
讨论 ListThread.asp? Статический файл. Обратите внимание, что здесь нет существования, что появление нового контента требует от нас обновления.
Как файлов могут не существовать? удалить. Мы можем удалить все статические файлы, такие как ListThread_xxx_p2.htm при публикации новой наклейки, удаления наклеек и движущихся наклеек. Таким образом, кэш уведомляется.
Сейчас остается одна проблема, как генерировать статические файлы?
Мы заметили, что тот же контент, который мы упоминали ранее.我们可以将改造前的 default.asp 、 ListThread.asp 等拷贝一个副本 , 取名为 default_d.asp 、 ListThread_2.ASP 且在同一个目录中 ((理论上 ListThtrad.asp? Subid = 123 同 ListThread_D.ASP? Результаты доступа subid = 123 будут одинаковым контентом), так что в логике необходимости генерирования статических файлов мы вызовываем копию перед изменением по запросу веб -доступа, получаем HTML -код и сохраняем его как статический файл. Этот веб -запрос на самом деле эквивалентен до того, как любой реальный просмотрщик обращается к статическому содержимому, сам сервер проверяется HTML, который будет выходить, а затем вернуть этот код, чтобы сохранить функцию работы файла в качестве статического файла. Таким образом, файл кеша был создан перед реальным зрителем.
Такая схема почти не касается исходного макета, и она вряд ли вызовет ошибки, такие как 404 из -за преобразования. Во -вторых, статические файлы также помогут вашему сайту легко включать поисковые системы, такие как Google. Почему нет?
Наконец, напомните, что с помощью веб -доступа, в среде программирования ASP, многие люди используют для доступа компоненты XMLHTTP, что вызовет много проблем. Ресурс, который сам xmlhttp будет кэшировать запросы, приведет к тому, что контент, полученный нашими запросами через этот компонент, вызывая логическую путаницу. Поэтому вам следует выбрать объекты XML Server HTTP или компоненты WINHTTP для реализации ресурсов веб -запросов.
Использование технологии Cache в ASP может в значительной степени улучшить производительность вашего веб -сайта.
Прежде чем представить эти технологии, давайте объясним, что такое Cache Technology от ASP.
SO -на самом деле открывается пространство для сохранения данных в памяти. После того, как вы выполните действие запроса и поместите результаты запроса в кэш, вы можете быстро посетить данные быстро. И если вы не помещаете данные в кэш, когда вы снова выполняете этот запрос, сервер потребляет процесс из базы данных и отсортирует его.
Когда данные хранятся в кэше, время, которое он требует, когда запрос снова, в основном во время отображения данных.
Другими словами, мы не должны поместить данные, которые часто должны измениться в кэш сервера.
Теперь мы впервые обсудим технику использования ASP на сервере.
Кэш -технологии.
Если у вас есть много данных (статические, то есть меньше изменений), необходимо отобразить для клиента, вы можете рассмотреть возможность использования технологии кэша на сервере. Эта технология особенно подходит для этих веб -сайтов с сильной последовательности стиля дисплея (а для веб -сайтов, не связанных с не -Mainseream, ее нелегко использовать.)
На самом деле, метод реализации особенно прост.
Это пример для отображения классификации книг
File filebooks.asp:
< %@ Language = javas
CRIPT %>
<html>
<тело>
<Form method = post>
Классификация книг;
<p>
<input type = отправить>
< %
Function getBooksListbox () ()
{{
Bookslistbox = Application (Bookslistbox)
if (bookslistbox! = null) return bookslistbox;
Crlf = string.fromChode (13, 10)
Bookslistbox = <select name = books> + crlf;
SQL = SELECT * OF Books Order по имени;
cnnbooks = server.createObject (adodb.connection);
cnnbooks.open (books, admin,);
rstbooks = cnnbooks.execute (sql);
FldBookName = rstBooks (kookName);
While (! Rstbooks.eof) {
BooksListbox = Bookslistbox + <опция> +
FldBookName + + CRLF;
rstbooks.movenext ();
}
BooksListbox = bookslistbox +
Application (Bookslistbox) = Bookslistbox
Вернуть BooksListbox;
}
%>
Это очень просто, на самом деле, он использует очень простую технологию приложения, и разница в одном предложении:
Application (Bookslistbox) = Bookslistbox
Вы можете убедиться, что вы обнаружите, что количество запросов на сервере будет сильно уменьшено. Эта ситуация особенно подходит для веб -сайтов, которые не очень часты, так как эти обновления, такие как вы обновляются только один раз (или долгое время).
Давайте обсудим технологию клиентского кеша. Эта технология в основном используется для сохранения личной информации пользователей, такой как пароли пользователей, коды и т. Д. В основном он использует некоторые атрибуты ADO. В то же время некоторые пользователи сети упоминали, могут ли вопросы, которые могут использовать объекты ADO в применении. Объяснение неясно, пусть код говорит ниже:
Файл Global.asa:
<!
Files/System/ADO/MSADO15.dll->
<script language = vbscript runat = server>
Sub Application_onstart
SQL = выберите имя пользователя, пароль из userInfo
cnnusers = dsn = пользователь
Установить rsusers = server.createObject (adodb.recordset)
Обратите внимание, что следующие два предложения используются для достижения технологии ADO, которая доступна для отключения соединений
RSCSOMOMOMORSORSORLOCATE = Aduseclient
rscosomers.open sql, cnnadvworks, adpertainstatic, adlockreadonly
'Разрыв соединения записей и базы данных
rscosomers.activeconnection = ничего
Установить приложение (rscustomers) = rscustomers
Конец суб
File users.asp
< %
«Метод клона заставляет каждого пользователя есть коллекция записей
Установить ваши ваши
Установить имя пользователя = yourusers (имя пользователя)
Установите пароль = yourusers (пароль)
Сделайте Unil ваши владельцы.
%>
Имя пользователя: < % = имя пользователя %> Пароль пользователя: < % = пароль %>
< %
yourusers.movenext
Петля
%>