Рекомендуется: сбор ошибок ASP Сбор ошибок ASP полезен для начинающих, и, возможно, эксперты забудут его. Коллекция ошибок ASP Microsoft VBScript Language*Ошибка (0x800A03E9)-> Недостаточная память Microsoft VBScript Language*Ошибка (0x800A03EA)-> Речь*Ошибка Microsoft VBScript Language*Ошибка (0x800A03EA)-> Речь*Ошибка Microsoft VBScript*Язык*
Запросы ASP инициализируются объектами WAM. Затем объект WAM отправляет его в ASP-runtime. ASP-Runtime отвечает на это, создав внутренний объект страницы.Объект WAM - это бесплатный объект потока. Когда он вызывает расширение ISAPI, такое как ASP.DLL, он использует потоки модели MTA, выделенной пулом потоков, поддерживаемой IIS-runtime.
Сложная проблема, с которой сталкивается при создании расширения ISAPI, заключается в том, как справиться с параллелизмом и синхронизацией потока, вызванной этим пулом потоков MTA. ASP-runtime упрощает проблему, переключая каждый запрос ASP на один резьбовой блок (STA) перед запуском сценария ASP. ASP-runtime управляет автономным пулом потоков STA (на заднем плане ASP фактически делает это с помощью бассейна Com Thread). Дизайнеры ASP создали эту схему объединения потоков, чтобы обеспечить оптимизированный баланс между параллелизмом и использованием ресурсов, одновременно устраняя необходимость для программистов для достижения синхронизации.
Как ASP-runtime переключается каждый запрос из потока MTA в потоку STA. Механизм планирования ASP-runtime помещает каждый запрос в центральную очередь запроса. Потоки STA в пуле потоков, управляемые монитором ASP в очередь, и обрабатывают запросы в первую очередь. Обратите внимание, что размер этого пула потоков динамически изменяется. ASP-runtime генерирует дополнительные потоки во время пиковой связи и выпускает потоки, когда общения меньше.
Переключение на потоку STA эффективно решает проблему параллелизма, но это также оказывает значительное влияние на производительность. Расширенная DLL ISAPI, обрабатываемая в отдельной эскадрильи потоков MTA, обеспечивает более быстрое время отклика.
IIS предоставляет метод для установки максимального размера пула потоков STA и очереди запроса. Размер пула потоков контролируется первичным ключом AspprocessorThreadMax в метадатабазе IIS. Настройка по умолчанию для этого первичного ключа составляет 25 за процесс на процессор (комментарий: Лучше всего найти соответствующую документацию Microsoft, чтобы доказать это число. Некоторые люди говорят, что это число составляет 10 на ЦП). То есть в четырехпроцессорном компьютере каждый процесс, который обрабатывает ASP, может иметь до 100 вспомогательных потоков. Если не были рассмотрены проблемы, связанные с пулами резьбов настройки, следует избегать изменения этого значения ключа. Обратите внимание, что вы не можете использовать диспетчер интернет -сервера для изменения этой настройки. Он должен быть изменен с помощью сценариев управления или приложений VB.
IIS устанавливает максимальную емкость для очереди запросов ASP. По умолчанию ASP-runtime позволяет очереди держать до 3000 запросов (другой документ Microsoft утверждает, что эта очередь может содержать только 500 запросов). После превышения, более поздний запрос ASP в более позднем возрасте будет отклонен, а сообщение об ошибке возвращается в качестве сервера слишком занятым.
Первичный ключ AspprocessorThreadMax и первичный ключ AsprequestqueueMax можно запрограммировать с использованием объектов управления IIS и ADSI. Например, в стандартном проекте EXE обратитесь к библиотеке Active DS Type и напишите следующий код:
Dim MyWebserver как Activeds.iads
Установить myWebserver = getOcte (iis: // localhost/w3svc)
MyWebserver.Put aspprocessorThreadMax, 30
MyWebserver.Put Asprequestqueuemax, 1500
Mywebserver.setinfo
Вот краткое изложение того, как пул потоков ASP работает в IIS, установленном по умолчанию на одном компьютере процессора. Этот пул потоков имеет 25 потоков STA, доступных для каждого процессора. Когда запрос прибывает, он помещается в очередь запроса. ASP-runtime планирует простоя поток STA из пула потоков, если он доступен (обратите внимание, что эта схема позволяет любому потоку в пуле потоков для обработки запроса). Если нет бесплатных потоков, запрос будет добавлен в очередь. Пока очередь не достигает максимальной емкости по умолчанию, все запросы будут обработаны.
Распределенное приложение программирования с Visual Basic 6.0 от Теда Паттисона
Поделиться: технические функции и методы использования ASP Несколько лет назад единственным каналом в отрасли для динамического выпуска домашней страницы была модель CGI (Common Ga Teway Interface). Хотя последующие технические решения, такие как ISAPI, NSAPI и JDBC, улучшились по сравнению с CGI, эти решения по -прежнему измеряются по технической реальности корпоративной сети (Intranet).