Service, COM or ISAPI ?
10 отговора
377 прегледа
Service, COM or ISAPI ?
Здравейте,
Боря се с Web-based Control Panel за администриране на Win2к adv server който се ползва за хостинг (IIS, FTP, DNS, DB, Secutiry, Email, Stats etc.) С основната библиотека (функциите които дефакто правят нещата) съм почти готов. Системата е комбинация от asp което си комуникира с компилиран модул на сървъра. Сега въпроса е как да реализирам този модул. Вариантите ми са следните :
- NT Service (mul. threaded) - това е варианта, който ползвам в момента. Имам начин от asp script-a да му подавам заявки и той да върши работата като връща резултат. По книгите пише че на еднопроцесорна машина не се препоръчва създаване на повече от 16 threads, а при мен може да се случи да имам и >30 конкурентни заявки...
- ASP Component - звучи много културно, но честно казано не съм наясно при много конкурентни инстанции как ще е като памет и процесорно време...
- ISAPI DLL - ще е малко по хамалско от COMa обаче ако е добро за целта...
Та моля, кажете си мнението... кой от вариантите е най-оптимален в случая.
Предварително благодаря !
Боря се с Web-based Control Panel за администриране на Win2к adv server който се ползва за хостинг (IIS, FTP, DNS, DB, Secutiry, Email, Stats etc.) С основната библиотека (функциите които дефакто правят нещата) съм почти готов. Системата е комбинация от asp което си комуникира с компилиран модул на сървъра. Сега въпроса е как да реализирам този модул. Вариантите ми са следните :
- NT Service (mul. threaded) - това е варианта, който ползвам в момента. Имам начин от asp script-a да му подавам заявки и той да върши работата като връща резултат. По книгите пише че на еднопроцесорна машина не се препоръчва създаване на повече от 16 threads, а при мен може да се случи да имам и >30 конкурентни заявки...
- ASP Component - звучи много културно, но честно казано не съм наясно при много конкурентни инстанции как ще е като памет и процесорно време...
- ISAPI DLL - ще е малко по хамалско от COMa обаче ако е добро за целта...
Та моля, кажете си мнението... кой от вариантите е най-оптимален в случая.
Предварително благодаря !
Re: Service, COM or ISAPI ?
Az imam COM s okolo 50-100 konkurentni sesii i raboti bez prolem, hem da si priznaja, kato go pravih hich ne biah najasno sto e to COM ;-)
Sas service ne znam ama spored men ne bi sledvalo da imash problem s okolo 30-50 konkurentni sesii(zavisi kakvo pravish de)
Sas ISAPI hich ne sam se probval ama kato gledam eBAY si imat nekav ISAPI modul ta si mislia che moze i da e dobre, ama az naistina ne sam zapoznat s vaprosa.
Sas service ne znam ama spored men ne bi sledvalo da imash problem s okolo 30-50 konkurentni sesii(zavisi kakvo pravish de)
Sas ISAPI hich ne sam se probval ama kato gledam eBAY si imat nekav ISAPI modul ta si mislia che moze i da e dobre, ama az naistina ne sam zapoznat s vaprosa.
Re: Service, COM or ISAPI ?
ISAPI е най-добре ако критерият е натоварване с конкурентни сесии.
don't waste my time - waste yours !
don't waste my time - waste yours !
Re: Service, COM or ISAPI ?
Spored men nai dobre e COM+!
Problema s servica e che ako imash bug resource ili mem leak sled izvestno vreme NT-to ste se ogrobi. Osven tova traibva da pishesh multithreading koeto ne e tolkova lesno, za da e efektivno traibva da pravish thread pooling, completion ports etc. ISAPI ste e nai burzo, no ako iskash funcionality nai dobre e COM+.
Problema s servica e che ako imash bug resource ili mem leak sled izvestno vreme NT-to ste se ogrobi. Osven tova traibva da pishesh multithreading koeto ne e tolkova lesno, za da e efektivno traibva da pravish thread pooling, completion ports etc. ISAPI ste e nai burzo, no ako iskash funcionality nai dobre e COM+.
Re: Service, COM or ISAPI ?
syshto spored men e naj dobre s com+, oshte poweche che mogesh da mu zadawash kakyw da e nishkowiqt model, single, apartment, ....
I bi trqbwalo da nqmash nikakwi problemi edinstweno mogesh da beresh qd sys sinhroniziraneto ako se nalaga...
JAVA lets make things badly and slow!!
I bi trqbwalo da nqmash nikakwi problemi edinstweno mogesh da beresh qd sys sinhroniziraneto ako se nalaga...
JAVA lets make things badly and slow!!
Re: Service, COM or ISAPI ?
Iskash da kazhesh, che >30 usera shte administrirat ednovremenno servera, pravilno li te razbrah?
S kakav ezik/tehnologiq si realiziral bibliotekata s osnovnata funkcionalnost?
Kade pazish sastoqnieto - v baza danni li?
Ot ASP-to mozhe da vikash COM componenti - ne mi e qsno po kakav drug nachin bi mogal da realizirash komunikaciqta s ne-ASP kod. Saotvetno chast ot tezi componenti mozhe da sa realizirani kato service, ako trqbva da pazish slozhno run-time sastoqnie, napr. cache sas slozhni strukturi danni ili nqkoi formi na asinhronno izpalnenie na zaqvkite. V tozi sluchai shte izrazhodvash procesorno vreme za mezhduprocesna komunikaciq.
Pri vsichki sluchai komponentite, koito shte vikash ot ASP-to, trqbva da badat stateless, za da se postigne dobra skaliruemost. S drugi dumi, sastoqnieto im trqbva da se pazi izvan tqh, t.e. v session obekta ili baza danni i t.n. i zhivotat na edna instanciq se ogranichava do izpalnenieto na edna zaqvka ot ASP-to.
Dali shte pozvash dopalnitelnite vazmozhnosti na MTS/COM+ veche zavisi ot konkretnite osobenosti na prilozhenieto.
ISAPI-to ot ASP bi mogal da go polzvash samo s redirectvane, t.e. celiq HTML shte trqbva da si go generirash v ISAPI DLL-a.
S kakav ezik/tehnologiq si realiziral bibliotekata s osnovnata funkcionalnost?
Kade pazish sastoqnieto - v baza danni li?
Ot ASP-to mozhe da vikash COM componenti - ne mi e qsno po kakav drug nachin bi mogal da realizirash komunikaciqta s ne-ASP kod. Saotvetno chast ot tezi componenti mozhe da sa realizirani kato service, ako trqbva da pazish slozhno run-time sastoqnie, napr. cache sas slozhni strukturi danni ili nqkoi formi na asinhronno izpalnenie na zaqvkite. V tozi sluchai shte izrazhodvash procesorno vreme za mezhduprocesna komunikaciq.
Pri vsichki sluchai komponentite, koito shte vikash ot ASP-to, trqbva da badat stateless, za da se postigne dobra skaliruemost. S drugi dumi, sastoqnieto im trqbva da se pazi izvan tqh, t.e. v session obekta ili baza danni i t.n. i zhivotat na edna instanciq se ogranichava do izpalnenieto na edna zaqvka ot ASP-to.
Dali shte pozvash dopalnitelnite vazmozhnosti na MTS/COM+ veche zavisi ot konkretnite osobenosti na prilozhenieto.
ISAPI-to ot ASP bi mogal da go polzvash samo s redirectvane, t.e. celiq HTML shte trqbva da si go generirash v ISAPI DLL-a.
Re: Service, COM or ISAPI ?
Iskash da kazhesh, che >30 usera shte administrirat ednovremenno servera, pravilno li te razbrah?
Статистиката ми е, че ако хоствам 200 сайта на един сървър, към даден момент имам 5, макс.10 юнака на FTP-то. ще ми се да се презастраховам, затова да ги кажем 30 през Control Panela. Също така ми се ще, да хоствам Control Panela само на един сървър а той да администрира другите машини remotely.
S kakav ezik/tehnologiq si realiziral bibliotekata s osnovnata funkcionalnost?
Delphi. Повечето неща не са времеемки. напр. за FTP Servera само ровя по cfg файлове и му казвам да се рефрешне. Единственото нещо което е лакомо за ресурси е администрирането на IIS... там просто е страшно... При ползването на неща от сорта :
ns:=CreateOleObject('IISNameSpace');
w3svc:=ns.GetObject('IISWebService','Localhost/w3svc');
и после едно обхождане на web serverite с цикъл:
ns.GetObject('IISWebServer','Localhost/w3svc/'+IntToStr(ab));
Processor usage скача на 100 % при 200 сайта...
Kade pazish sastoqnieto - v baza danni li?
Като се логна като администратор си дърпам и сетвам нещата директно. Иначе за обикновени юсери MS SQL 2000 DB
Ot ASP-to mozhe da vikash COM componenti - ne mi e qsno po kakav drug nachin bi mogal da realizirash komunikaciqta s ne-ASP kod.
С NT service-тo в момента си говорим по следния начин:
В една директория ASP-to запсива файл със заявка, servica подслушва директорията и като се появи файл обработва заявката като връща резултата пак във файл. От своя страна ASP-то чака файла с резултат (имам един компонент за тая работа) и като се появи - си го вмъква в респонса.
Хич не се гордея с това "решение", ама много ме бяха подгонили сроковете и трябваше да има "нещо работещо". Сега ми се ще да направя нещата малко по-културни. ISAPI-to ми се струва голяма хамалогия (както казваш "ISAPI-to ot ASP bi mogal da go polzvash samo s redirectvane") така че не ми харесва много тоя вариант. ASP компоненти съм правил и мисля че не бих имал проблеми, а с COM+ досега не съм имал работа та ще трябва да се поровя....
МНОГО БЛАГОДАРЯ за съветите на Пpaco... wili98 jamie n/a и разбира се на Architect. Нещо много ме е подгонила службата, та нямам време да отговоря на всички за което се извинявам...
Статистиката ми е, че ако хоствам 200 сайта на един сървър, към даден момент имам 5, макс.10 юнака на FTP-то. ще ми се да се презастраховам, затова да ги кажем 30 през Control Panela. Също така ми се ще, да хоствам Control Panela само на един сървър а той да администрира другите машини remotely.
S kakav ezik/tehnologiq si realiziral bibliotekata s osnovnata funkcionalnost?
Delphi. Повечето неща не са времеемки. напр. за FTP Servera само ровя по cfg файлове и му казвам да се рефрешне. Единственото нещо което е лакомо за ресурси е администрирането на IIS... там просто е страшно... При ползването на неща от сорта :
ns:=CreateOleObject('IISNameSpace');
w3svc:=ns.GetObject('IISWebService','Localhost/w3svc');
и после едно обхождане на web serverite с цикъл:
ns.GetObject('IISWebServer','Localhost/w3svc/'+IntToStr(ab));
Processor usage скача на 100 % при 200 сайта...
Kade pazish sastoqnieto - v baza danni li?
Като се логна като администратор си дърпам и сетвам нещата директно. Иначе за обикновени юсери MS SQL 2000 DB
Ot ASP-to mozhe da vikash COM componenti - ne mi e qsno po kakav drug nachin bi mogal da realizirash komunikaciqta s ne-ASP kod.
С NT service-тo в момента си говорим по следния начин:
В една директория ASP-to запсива файл със заявка, servica подслушва директорията и като се появи файл обработва заявката като връща резултата пак във файл. От своя страна ASP-то чака файла с резултат (имам един компонент за тая работа) и като се появи - си го вмъква в респонса.
Хич не се гордея с това "решение", ама много ме бяха подгонили сроковете и трябваше да има "нещо работещо". Сега ми се ще да направя нещата малко по-културни. ISAPI-to ми се струва голяма хамалогия (както казваш "ISAPI-to ot ASP bi mogal da go polzvash samo s redirectvane") така че не ми харесва много тоя вариант. ASP компоненти съм правил и мисля че не бих имал проблеми, а с COM+ досега не съм имал работа та ще трябва да се поровя....
МНОГО БЛАГОДАРЯ за съветите на Пpaco... wili98 jamie n/a и разбира се на Architect. Нещо много ме е подгонила службата, та нямам време да отговоря на всички за което се извинявам...
Re: Service, COM or ISAPI ?
Na tvoe miasto ne bih razchital mnogo na IIS ... verno che e edin ot nai-lesnite za rabota i pisane za nego ... no .... hvyrli edno oko na [линк], ako sa ti ostavili vratichka da izbiagash ot IIS - napravi go ;>
Re: Service, COM or ISAPI ?
Hmmmm I az nawremeto imah podoben problem. mnogo se chudih kakwo da prawq i koq tehnologiq da izbera. Probwah gi pochti wsichkite izwestni i wse neshto ne mi hareswashe(nqkyde se tryrkalq direktoriq s 5-6 exe-ta na tema "kak raboti towa") Nakraq mi pisna drypnah rfc2616 pochetoh malko i nakraq sytworih neshto koeto prilicha na web server - submit-wash mu nqkakwa forma to si q parswa i sled towa na bazata na poletata si wyrshi kakwoto trqbwa kato nakraq generira nqkakyw dokument ot dinamichen shablon... Ne ti trqbwat nikakwi tehnologii i prochie prostotii - ot opit sym ostanowil che kolkoto poweche mejdinni niwa ima edna s-ma tolko po nenadejdna e. i kolkoto i da ti prikazwat za gywkawost i prochie.... kakwo po gywkawo ot edno samotno exe deto si wyrshi samo rabotata? Kakto i da e. Ako te interesuwa sorsowete sa syshto na Delphi. Moga da ti gi dam, pa ako otkriesh nqkoj bug da swirkash :))
Re: Service, COM or ISAPI ?
Идеята определено ме заинтригува... Чудя се как не ми е дошло на акъла
така че много ще съм ти благодарен ако пуснеш нещо :
[email protected]
Благодаря предварително !
[email protected]
Благодаря предварително !
Re: Service, COM or ISAPI ?
Искам тържествено да благодаря на всички за хелпа !!!
Направих го с COM+ и работи като слънце !
Още едно въпросче :
Знаете ли за някакъв интерфейс чрез който да създавам MS SQL 2000 databases and logins ?
[линк]
Направих го с COM+ и работи като слънце !
Още едно въпросче :
Знаете ли за някакъв интерфейс чрез който да създавам MS SQL 2000 databases and logins ?
[линк]