Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Произвоительность ISAPI и ASP при доступе к БД MS SQL
|
|||
|---|---|---|---|
|
#18+
Прошу прощения за OFF topic, но я знаю, что среди вас есть кто писал ASP, CGI и ISAPi. Написал ISAPI приложение, которое делает запросы к БД (MS SQL Server 2K)и выводит отчеты клиентскому броузеру. Работает очень быстро (явно быстее чем CGI) , но есть одно но. При синхронном(одновременном) подключении более 10 юзверов, т.е. порядка 10 в секунду, ISAPI впадает в штопор, а именнно загружает процессор(ы) на все 100 и не собирается из него вылезать. Это происходит в силу довольно сложной обработки внутри Dll. Если обработка на запрос довольно простая, то ISAPI справляется "на пять из пяти" и никаких серьезных загрузок процессора нет. Отсюда хочу спросить у тех кто РЕАЛЬНО разрабатывал и тестировал ISAPI, CGI или ASP: Хотелось бы узнать, как ведет себя ASP, CGI и ISPAI приложения в подобных ситуациях у Вас? Сервер на котором проходил тест Isapi имеет следующую конфигурацию: 2хPIII, 512 оперативка, скази. ОС Win2K Advanced server SP2, MSQ SQL 2K ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.02.2002, 12:10 |
|
||
|
Произвоительность ISAPI и ASP при доступе к БД MS SQL
|
|||
|---|---|---|---|
|
#18+
Не уж-то никто не использует ASP? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.02.2002, 15:31 |
|
||
|
Произвоительность ISAPI и ASP при доступе к БД MS SQL
|
|||
|---|---|---|---|
|
#18+
При чем здесь ASP? ASP используют многие. Но если внимательно прочитать твой вопрос, то окажется, что он касается на самом деле исключительно ISAPI, причем багу ты сам увязываешь с твоей собственной "сложной обработкой внутри DLL". Расклад такой: 1. На ISAPI опытных спецов совсем мало по сравнению с ASP 2. Тех немногих спецов по ISAPI, которые есть в природе, именно в этой конфе гораздо меньше. 3. Опытных спецов на ISAPI, которые к тому же ходят на этот форум, да еще со спец. знанием твоих собственных "сложных обработок внутри DLL", практически совсем не встречается в природе. Отсюда следствие: шансы получить толковый ответ на твой вопрос - практически нулевые. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.02.2002, 07:33 |
|
||
|
Произвоительность ISAPI и ASP при доступе к БД MS SQL
|
|||
|---|---|---|---|
|
#18+
Добавлю. Мне так кажется, что ISAPI и ASP очень по-разному работают, в смысле обработки запросов, поэтому тут сравнивать тяжело. Но склоняюсь естественно в пользу ASP. Простой пример: сами посмотрите, сколько сайтов работают на ASP, и не наблюдается повисания хотябы на сотнях клиентов, не говоря уж о десяти. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.02.2002, 07:57 |
|
||
|
Произвоительность ISAPI и ASP при доступе к БД MS SQL
|
|||
|---|---|---|---|
|
#18+
Попробую вставить свои 2 копейки... (может поможет). Само по себе ядро обработки ASP - тоже представляет собой ISAPI-приложение (вроде - известный в природе факт?). IIS-у наплевать на то, что запрашивает клиентский броузер, он просто знает, что если у этого "что" - расширение имени файла ".asp" (или ".aspx" с недавних пор) - то это "что" надо передать на обработку "движку" ASP, а потом получить от него обратно готовый HTML, который и впарить клиенту. С точки зрения производительности - обрашения к БД средствами ASP (Server.CreateObject("ADODB.Recordset") и т.д.) происходит по-определению медленнее, чем те же самые действия из "самописного" ISAPI-приложения, т.к. во-первых - оно (ASP) интерпретатор, во-вторых - оно тратит ресурсы сервера на создание-инициализацию-открытие-закрытие-очистку довольно "навороченных" по функциональности объектов ADO. Но есть как всегда "НО" - ISAPI-приложения (насколько мне известно) запускаются в адресном пространстве IIS, и что более плохо - ограничены числом его (IIS-a) потоков выполнения... Т.е. если вы (не дай Бог) скомпиллировали свое ISAPI-приложения в одно-потоковом режиме, то IIS так и будет запускать все (!!!) обращения к этому процессу в одном потоке "по очереди поступления" (что и приводит в загрузке процессора до 100%). Некоторой "альтернативой" является компилляция в режиме "разделения потоков", тогда IIS - в состоянии для каждого нового обращения к ISAPI-приложению создавать новый поток выполнения, но он делает это только (!!) в том случае, если все его "штатные" потоки уже заняты другой обработкой... Т.е. при большом количестве "одновременных" запросов - загрузки процессора в 100% не избежать, зато есть шанс избавиться от "толкотни в очереди" выполнения. Полная труба начнется (со слов некоторых знатоков), если вы захотите сделать настоящее много-потоковое ISAPI-приложение, которое якобы само в состоянии разделять свои потоки обработки, т.к. для этого необходимо будет синхронизировать потоки приложения и потоки IIS-a, а возможно ли это вообще - не знаю... (не специалист). Но, как обычно, мелко-мягкие предлагают "разумный компромисс" - COM-объекты, загруженные на выполнение в MTS... MTS - умеет разделять потоки выполнения лучше чем IIS... IIS - умеет пользоваться объектами, загруженными в MTS, не тратя собственных ресурсов... Что еще надо "ленивому" для полного счастья? (пару мощных серваков и быстрый, надежный канал связи между ними) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.02.2002, 08:56 |
|
||
|
|

start [/forum/topic.php?fid=46&msg=32022281&tid=1824037]: |
0ms |
get settings: |
9ms |
get forum list: |
17ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
55ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
41ms |
get tp. blocked users: |
1ms |
| others: | 225ms |
| total: | 367ms |

| 0 / 0 |
