Linux-Bulgaria.ORG
навигация

 

начало

пощенски списък

архив на групата

семинари ...

документи

как да ...

 

 

Предишно писмо Следващо писмо Предишно по тема Следващо по тема По Дата По тема (thread)

Re: lug-bg: Otnosno lekciqta za http serverite


  • Subject: Re: lug-bg: Otnosno lekciqta za http serverite
  • From: whitefang@xxxxxx (Angel Valkov)
  • Date: Fri, 18 May 2001 03:51:44 +0300



On Thursday 17 May 2001 14:44, you wrote:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
>
Mi mai i ti mnogo ne 4etesh :)
Naistina threadinga iziskva pove4e usilia za realizacia
Glavno za da osigurish bezproblemen dostyp na otdelnite threads do
podeleni resursi. No ako proektirash cialosno organizaciata na process flow -a
taka 4e da minimizarash shared dannite kato kapsulirash goliama 4ast ot tiah 
vyv eksempliari za daden thread usiliata ne sa tolkova golemmi. :)
Ne e zadyljitelno da e realizirano s metodite na OOP capsuliraneto no e po 
iasno i iz4isteno.
Otnosno skorostta :)
Zna4i tuka ima mnogo ako-ta
1.Na kolko CPU se izpylniava dadenia proces
2.Kakvo koli4estvo shared resouces mejdu thread-ovete se polzvat i
   kalko efektivno se izpolzvat metodite za osiguriavane na konkureten dostyp 
do tezi resursi ( mutexes,semaphores ,events, i za kernel-a spin-locks )
V sl. sys syrvyren softuer koito otvaria nova konekcia za vseki client ( 
primerno socket ) koncepciata s threads e dosta dobra. 
Ako razgledash edin tipi4en primer (primerno ot infoto na glibc za 
manipulirane na sockets) shte ustanovish 4e v lavnata programa ( master 
process v sl s izpolzvane na fork, ili controling thread v sl. s threads ) 
niama nujda ot  nikakvi resursi koito da se odeliat mejdu otdelnite "worker" 
threads. Edinstveno e neobhodimo master thread-a da pazi informacia za 
syzdadenia thread ili child process za vsiaka zaiavka ot clent za vryzka. za 
da moje sled opredelen period da unishtoji thread-a primerno ( prevantivna 
miarka sreshtu hung procesi ili thread-ove koito moje da ti predizvika v sl. 
DoS kato ti iziade vsi4kite portove ako po niakakva pri4ina child processite 
ili threadovete ti zavisvat.
Obema na pammeta koito se polzva e po malyk otkolkoto ako pravish fork-ove 
poradi prostata pri4ina 4e
razmera koito obektite  izpolzvani za predstaviane na localnite za thread-a 
storage svyrzan s upravlenieto mu a ne negovite localni danni e dale4 po 
malyk ot tozi na neobhodimite strukturi za poddyrjane na otdelen proces.

Kolkoto do Netscape . Ami i tuk mnogo greshis. Ne e baven zaradi tova
Dori v sl. s Netscape ima edno predimstvo ot izpolzvaneto na threading
Ako si si build-val sam mozilla-ta proveri dali si ia compiliral sys podryjka 
na dns-look-up-a v otdelen thread. Zashtoto ako ne si opredeleno ako ne si na 
neshto >100Mz i DNS na IPS ti e  lagavo ima da se razhojdash s mishkata po 
masata i da se 4udish zashto kursora ne se dviji dokato ne ti resolv-ne 
http://boza.net ;) Baven e zaradi NSPR. ( NS Portable Runtime ) .  A 
"portable" kogato stava vapros za binary interface zna4i "myka, myka" po4ti 
syshtoto kato vmesto tova da beshe napisano na JAVA - malko po byrzo e. No 
nai golemia "lag"idva ot izpolzvaneto na XML , XPointer za interface-a. 
Zashto ne opitash naprimer Galeon. Toi polzva rendering engin-a na Mozilla-ta 
, i GTK za interface-a si. 

> znqachi izslushah lekciqta za web serverite..
>
> abe da kava ne sym sywsem syglasen s lektora (neznam koj e)
>
> znachi za forkwaneto obqsnenieto ne beshe mnogo qsno
>
> neka pyrwo izqsnim
> zashto procesite se forkwat
>
> znachi imame edin parent proces
> kojto prawi fork i po tozi nachin puska pod-proces(child)
>
> kojto da se zanimawa s konekciqta...
> i moeto mnenie e slednoto
> znachi teoriqta na lektora beshe da se polzwat threads
>
> spored mene
> kogato polzwame threads ... to togawa imame samo edin proces
> kojto w edin moment stawa mnogo tevak
> t.e. kogato imame 100 konnectiona primerno
> predstawete si tozi demon kolko resursi shte izqde
> i taka kato qdroto ne e sposobno da dade wsichki resursi na edin proces
> w edin moment shte widite slednoto w syslog-a si:
>
> kernel: killing pid xxx
> i shte go killne zashtoto ne move da mu usigori neobhodimite resursi...
>
Da shte go kill-ne Ama tva e mnogo malko veroiatno osven ako 
ne alocirash vseki byte koito programata ti taka 4e da ne e pageble
A i se predpolaga vse pak 4e pri segasnata cena na pametite niama da
puskash primerno Web Server koito da darji > 1000 connections na mashina sys 
16MB Nali ?. Po skoro predi da ti se iz4erpa pametta ili file handles za 
dadenia process shte ti se iz4erpi max limit-a na thread-ovete koito mojesh 
da syzdadesh i ako programista si e svarshil rabotata kakto triabva prosto 
niama da se syzdade nov thread - za momenta )

> 1wo za thread e neobhodimo mnogo pisane...
> 2ro riskuwame da go killne kernela poradi nedostig na resursi
>
> i ne bih kazal che sa naj byrzi
>
> neka da widim kakwo shte stane s forknatite
>
> parent-a shte pusne malko child-owe
> no wseki edin po otdelno nqma da iska tolkowa resursi kolkoto shte iska
> threadnatiq
>
> shte imame prosto poweche procesi koito shte qdat po malko
> i ako w edin moment nqma resursi
> to kernela shte ostawi sledwashiq process w queue kydeto toj shte izchaka
> wremeto si
> koeto nqma da prewishi poweche ot 10-20 secs predpolagam...
>
> predpolagam ste wivdali kakwo stawa kogato pusnete netscape na po slaba
> mashina
>
> towa shte stane i s threadnatiq server
>
>
> ........
>
> a i oshte neshto
> lektora e trqbwalo da prochete malko poweche za kernelite ...
> zashtoto towa koeto kaza ne e sywsem wqrno
> a i concepciqta za operacionna sistema i kernela na linux-a
> sywsem ne e takawa kakwato kazwa toj
>
> znachi do kolkoto razbrah (move i da gresha)
> lektora goworeshe che funciqta za memory alocation e za da se chetat
> files... mi .............
Ne biah na seminara za koeto syjaliavam. Ne sam pro4el  oshte i lekciite .
Ama i tuka mai lektora ne greshi ;) Ako govori za MM IO (Memory Maped IO). 
mmap e to4no memmory alocation za da se 4etat i pishat file-s. 
Naprimer Apache+PHP dava dosta po dobri resulatati  ako e build-nato sys mmap 
bibliotekata . Neotdavna daje mai se obsyjdashe temata za cachirane na php 
scriprove v psevdo-izpylnim vid. To syshto polzva mmio.
A sega se seshtam za oshte edno neshto koeto realizira shared memmory ( pod 
formata na file-ova systema no v pametta - "shmfs " i e 4ast ot kernel-a.  
>
>
>
>
>
> razbira se towa si e moe lichno mnenie ...
> priznawam che ne sym potyrsil dokumentaciq
> no ot towa koeto sym natrupal kato experience
> moga da izweda samo towa !
>
>
> - --
> - -===============================================================-
> - - Regards,                                            AngelFire -
> - -     Stanislav Lechev                    <firedust@xxxxxxx>    -
> - -    PGP Key: http://firedust.vega.bg/pgp/StanislavLechev.asc   -
> - -  Vega Internet Service Provider (tm)  --  http://www.vega.bg  -
> - -===============================================================-
>    Everyone is a genius.
>      It's just that some people are too stupid to realize it.
> -----BEGIN PGP SIGNATURE-----
> Version: GnuPG v1.0.4 (GNU/Linux)
> Comment: For info see http://www.gnupg.org
>
> iD8DBQE7A7m38RPXBhiMqewRAkLIAKCBT5BVtzHguNo0jGaw6Dc9lGOk4ACeJ+vL
> E7j/jDYtNMoH7mfMYct0n80=
> =GG3r
> -----END PGP SIGNATURE-----
> ===========================================================================
> A mail-list of Linux Users Group - Bulgaria (bulgarian linuxers)
> http://www.linux-bulgaria.org/ Hosted by Internet Group Ltd. - Stara Zagora
===========================================================================
A mail-list of Linux Users Group - Bulgaria (bulgarian linuxers)
http://www.linux-bulgaria.org/ Hosted by Internet Group Ltd. - Stara Zagora



 

наши приятели

 

линукс за българи
http://linux-bg.org

FSA-BG
http://fsa-bg.org

OpenFest
http://openfest.org

FreeBSD BG
http://bg-freebsd.org

KDE-BG
http://kde.fsa-bg.org/

Gnome-BG
http://gnome.cult.bg/

проект OpenFMI
http://openfmi.net

NetField Forum
http://netField.ludost.net/forum/

 

 

Linux-Bulgaria.ORG

Mailing list messages are © Copyright their authors.