ISAPI + SQL Server = urgent problem
A 26.10.2005 16:32
Столкнулся с проблемой с ISAPI-версией Parser 3.1.4 под IIS5, Windows 2000 Server SP4 и SQL Server 2000 (desktop edition). Всё - свежеустановленное, сервер - "голый".
Создана тестовая страничка, которая соединяется с SQL Server и делает простой запрос SELECT 2 + 2.
Если назначаю обработчиком dll-версию парсера, всё летает пару минут. В памяти появляется процесс DLLHOST весом метров в пять, в списке connections SQL Server - соединение с парсером. Но через незначительный промежуток времени всё умирает - тестовая страничка перестаёт открываться (запрос умирает по таймауту). IIS глухо зависает, лечится полным перезапуском.
Если снять галочку "cache ISAPI" умирания не происходит. Начинается другая проблема - процесс DLLHOST отжирает плюс два мегабайта памяти на
каждом запросе.
Единственный рабочий вариант - это использование exe-версии с проставленной галочкой "cache" (без галочки после каждого запроса в памяти останется ещё один четырёхмегабайтный процесс parser3.exe). Но этот вариант мне категорически не нравится - CGI тормознее ISAPI в разы. Плюс к тому, CGI-вариант положит "production"-сервер при большом количестве запросов. Сто хитов в один момент времени = 400 метров скушанной памяти, 100 запущенных подпроцессов и пар от системного блока...
Скажите, как вразумить parser3isapi.dll? Могу предположить, что дело в кешировании коннекта к БД - и тем, что после определённого времени коннект обрубается базой данных, а парсер этого не знает и продолжает висеть в памяти.
- ISAPI + SQL Server = urgent problem, A 26.10.2005 16:32