shm_put_var
31 отговора
608 прегледа
Заключена
shm_put_var
zdravejte,
imam sledniat problem. v prilojenie imam queue, koeto se suhraniava kato array v shared memory segment. kum tozi array se obrushtat poniakoga 100-ci execute-nati php-ta v sekunda i otvreme na vreme niakoe pravi shm_put_var, replace-vajki go.
vsichko raboti chudesno, do momenta, v kojto vmesto da se overwrite-ne variable-a sus suotvetnia variable key, do tekushtata stojnost se dobavia oshte edna.
Znachi chudoto raboti primerno 24 chasa s tazi intenzivnost i na 25-ia chas prepulva celia shared memory segment s prazen serializiran array povtoren 10-tki hil puti za broeni sekundi. Ulaviam go sus shmop, che se e omazalo, no niamam nikakva ideja KAK.
Niakakvi idei kakuv moje da e problema?
imam sledniat problem. v prilojenie imam queue, koeto se suhraniava kato array v shared memory segment. kum tozi array se obrushtat poniakoga 100-ci execute-nati php-ta v sekunda i otvreme na vreme niakoe pravi shm_put_var, replace-vajki go.
vsichko raboti chudesno, do momenta, v kojto vmesto da se overwrite-ne variable-a sus suotvetnia variable key, do tekushtata stojnost se dobavia oshte edna.
Znachi chudoto raboti primerno 24 chasa s tazi intenzivnost i na 25-ia chas prepulva celia shared memory segment s prazen serializiran array povtoren 10-tki hil puti za broeni sekundi. Ulaviam go sus shmop, che se e omazalo, no niamam nikakva ideja KAK.
Niakakvi idei kakuv moje da e problema?
аз идея нямам, ама да се оплача и аз...
използвам на едно място iconv за да обърна стринг на кирилица от UTF-8 в 1251
и ако стринга има някъде по средата питанка (?) от там до края са само питанки в резултата
и на двете места ми мирише на бъг....
[линк]
и ако стринга има някъде по средата питанка (?) от там до края са само питанки в резултата
и на двете места ми мирише на бъг....
[линк]
Re: аз идея нямам, ама да се оплача и аз...
ako e bug, koshmar
prosto koshmar....
pri polojenie, che postojanno ima attached users kum shm segmenta ne moga da go unishtoja i suzdam nanovo!
prosto koshmar....
pri polojenie, che postojanno ima attached users kum shm segmenta ne moga da go unishtoja i suzdam nanovo!
Re: аз идея нямам, ама да се оплача и аз...
moeto li4no mnenie e (ne znam po4ti ni6to za shm - ne sam go polzval) po-dobre izpolzvai DB ili ne6to drugo da si pazi6 array-te
moze6 v MySQL da digne6 heap tables deto sa6to rabotiat stra6no barzo
E tuk ni6to niama :[линк]
moze6 v MySQL da digne6 heap tables deto sa6to rabotiat stra6no barzo
E tuk ni6to niama :[линк]
Re: аз идея нямам, ама да се оплача и аз...
Mda torbalane, bug ima takuv. Samo che toj ne e v PHP-to, a spored men v bibliotekata, koiato legi otdolu (libiconv ili iconv-a na glibc-to).
Poniakoga se sluchva kato preobrazuvash niz da se dobaviat bokluci otzad. Niakakuv buffer se append-va ot niakude. Zatova proveriavaj za 0x00 v niza i reji vsichko sled nego. Prevoda ti e do 0x00.
Otnosno pitankite. Shte ti kaga kakuv moge da e problema. Sluchvalo mi se e da prevegdam os SJIS kum UTF-8 i obratno. Ako niakoj "znak" go niama v edno ot dvete predstaviania se zamestva s ?.
Poniakoga se sluchva kato preobrazuvash niz da se dobaviat bokluci otzad. Niakakuv buffer se append-va ot niakude. Zatova proveriavaj za 0x00 v niza i reji vsichko sled nego. Prevoda ti e do 0x00.
Otnosno pitankite. Shte ti kaga kakuv moge da e problema. Sluchvalo mi se e da prevegdam os SJIS kum UTF-8 i obratno. Ako niakoj "znak" go niama v edno ot dvete predstaviania se zamestva s ?.
Re: shm_put_var
Predpolagam si zashtitavash dostupa do SHM segmenta s semaphore sled kato ot vreme na vreme imash pisane. Predi okolo 2 meseca napisah niakolko klasa, koito obvivat funkcionalnostta na shm_* funkciite, realizirajki osnovni primitivi ot paralelnoto programirane - kritichna sekcia, semaphore. Na bazata na tezi 2 se izgragda - zashtitena promenliva. Koda stoi i oshte ne sum go commit-nal v PEAR tyj kato pokraj nego pisha(freezed) i statia (vse oshte draft) za PHPMagazine za tozi kod. Predpolagaemo shte se kazva PEAR::SHM.
Ako si zashtitavash neshtata sus semaphore kagi i da produlgim borbata, nadiavam se che shte moga da ti pomogna kolkoto moga. Materiata mi e interesna. BTW na 1 ili 2 mesta sum chel che e po-dobre da se polzva shmop zashtoto bilo portable, no niakak si SysV primitivite mi haresvat poveche.
Ako si zashtitavash neshtata sus semaphore kagi i da produlgim borbata, nadiavam se che shte moga da ti pomogna kolkoto moga. Materiata mi e interesna. BTW na 1 ili 2 mesta sum chel che e po-dobre da se polzva shmop zashtoto bilo portable, no niakak si SysV primitivite mi haresvat poveche.
Re: аз идея нямам, ама да се оплача и аз...
Roshav, zamisli se kakuv overhead mogesh da imash s DB-to. DB-to e reshenieto ako imash mnogo mashini za webservers. No ako imash 2 mashini, edin web server i edno DB to togava predlogenoto ot teb reshenie hich ne e bavno. I za da opre choveka da raboti su SHM iavno ima prichina - visoko natovarvane. A kato gledam maj v povecheto sluchai chete ot SHM segmenta.
Re: аз идея нямам, ама да се оплача и аз...
когато се говори за "голямо натоварване" в областта на базите данни, обикновено се цитират много хиляди обръщения в секунда.....
наистина ли мислиш, че по лесно ще претовариш функциите за работа с бази данни, отколкото тези, които са писани за SHM
аз не бих се обзаложил, кое ще спечели....особено при наистина голямо натоварване...
и после - не забравяй, че не говорим за С++ а за РНР което си е един бъгав скрипт....
[линк]
наистина ли мислиш, че по лесно ще претовариш функциите за работа с бази данни, отколкото тези, които са писани за SHM
аз не бих се обзаложил, кое ще спечели....особено при наистина голямо натоварване...
и после - не забравяй, че не говорим за С++ а за РНР което си е един бъгав скрипт....
[линк]
Re: аз идея нямам, ама да се оплача и аз...
аз предавам URL
ситуацията е горедолу такава
[линк] мечо томаш
[линк]
ситуацията е горедолу такава
[линк] мечо томаш
[линк]
Re: shm_put_var
znachi, ne zashtitavam sus semaphore, prosto zashtoto funkcionalnostta e takava, che ako se sluchi edinichna zaguba na informacia tova niama absolutno nikakvo znachenie za obshtoto i funkcionirane :) znam, che zvuchi nenauchno, no v mojat sluchaj e taka (scriptyt e PHP IRC client)
opitvam se da si predstavia prichinata za buga kato:
2 opita za zapis na variable s key X, predi oshte purviat da e prikluchil? predvid intenzivnostta na subitiata, moje i neshto takova da se sluchva i da prichiniava crash-a. Shte probvam dovechera da zashtitia pisaneto sys semaphore, shte podloja scriptovete na malko po-intenzivna ot obichajnata upotreba, da vidim kakvo shte stane.
Inache mi se struva goliama zaguba na udobstvo ot truda na razrabotilite php, da izpolzvam shmop:)
Kolkoto do upotrebata na sql - nqma da go bude :)
opitvam se da si predstavia prichinata za buga kato:
2 opita za zapis na variable s key X, predi oshte purviat da e prikluchil? predvid intenzivnostta na subitiata, moje i neshto takova da se sluchva i da prichiniava crash-a. Shte probvam dovechera da zashtitia pisaneto sys semaphore, shte podloja scriptovete na malko po-intenzivna ot obichajnata upotreba, da vidim kakvo shte stane.
Inache mi se struva goliama zaguba na udobstvo ot truda na razrabotilite php, da izpolzvam shmop:)
Kolkoto do upotrebata na sql - nqma da go bude :)
Re: аз идея нямам, ама да се оплача и аз...
amiiii ako se spravia taka che da napravia stabilna versia na moja chat client sys shm, shte podloja niakoja nosht sistemata na crash test:
1. sys shm
2. s mysql
i shte moga da dam otgovor na tozi vypros. Spored men shm shte izkara s v pyti poveche users, no moje i da gresha :)
1. sys shm
2. s mysql
i shte moga da dam otgovor na tozi vypros. Spored men shm shte izkara s v pyti poveche users, no moje i da gresha :)
Re: аз идея нямам, ама да се оплача и аз...
Da, smiatam che shte gi pretovaria. Ako scenariat e 2 mashini niamash UNIX sockets, a TCP/IP sockets. Neka obiasnia che spored Georg Richter novoto API na PHP za MySql shte e po-bavno. Vsushtnost novoto API shte e za Mysql >=4.1 . Modula se kazva mysqli i shte bude dostupen za PHP5+.
Zamisli se kolko burza e mrejovata vruzka i kolko e burz dostupa do pametta. Ne si govorim za Gigabit Ethernet (vsushtnost 800MB), a za normalen Fast Ethernet. Viarno e che shm_* funkciite se zabaviat ot tova che dannite, koito se zakachat v pametta se serializirat pri pisane (obratno se deserializirat pri chetene), no (de)seriliazitora e dosta optimiziran.
Otnosno C++ i PHP. Zamisli se na kolko godini e C++ i na kolko e PHP. Ako ne se luja C++ e ezik na okolo 18 godini, a puk PHP 1.0 maj izliza 95-ta (t.e. 8 godini). Dokato C++ e triabvalo sam po sebe si da bude inovacionen, PHP pecheli ot tova che moje da implementira samo tova, koeto vremeto e pokazalo che e dobro. Zashto .NET e cutting edge? (po mnenieto na chovek zanimavasht se s Enterprise Java reshenia ot mega kalibur). Zashtoto Microsoft sa vzeli samo dobrite strani na Java ideologiata i vsichko ostanalo sa izhvurlili. C# ima operator overloading dori cast overloading - neshto, koeto Java shte dobaviat v budeshti versii.
S primera za .net iskam da pokaga che v PHP shte vleznat samo neshta za koito si struva. Goliama tejest razbira e vsichkiat sushtesvuvasht kod dosega. Spored posledniat Netcraft survey PHP go ima na > 10 miliona domain-a i pri nad 1.5 miliona IP-ta. Niama drug modul za Apache s takava populiarnost. Preminavaneto megdu php3 i php4 triabvashe da bude lesno, da byde vuzmogno da migrira vsichkiat kod dosega. PHP5 e neshto razlichno, koncepciite sa preoceneni. Loshite neshta se izhvurliat. Neka spomena che v 5-cata shte ima :
1. interface-i
2. PPP(private/protected/public) model
3. ad-hoc suzdavane na obekti i chlen promenlivi naj-veroiatno shte bude "deprecated"
4. kopirane na obekti po handle (za tezi, koito ne znaiat no obektniat model na PHP dosega e "syntatic sugar". Dobaven samo za da go ima.
5. Znachitelno podobren object overloading. overload extension-a minava v iadroto. Mojesh da si pravish proxy obekti i t.n.
6. Na bazata na 5 integraciata s drugi tehnologii znachitelno shte se podobri. Suzdaden e RPC layer. COM/Java/Mono/.NET/Corba/Soap/XmlRpc i drugi tehnologii ot tozi tip shte mogat da budat lesno implementirani v moduli. COM modula e gotov (reimplementiran).
7. ADT modula. Abstract Data Types. Opashki, stekove, durveta, grafi i dr. kato vgradeni tipove.
8. Exceptions
9. Namespaces (bez vugmognost za vlagane)
10. User space potoci. Kato edno ot neshatata, koito mogat da se praviat e da zastanesh na vhoda na dannite i da gi validirash. T.e. registirash funkcia, koiato da se grigi da pregleda vhodnite (blagodareni na R. Lerdorf) - direktno prilojeno ot Yahoo!.
Za kraj. Az bih se obzalojil, koe reshenie shte specheli ako se sypostavi baza sresthu shm!
Zamisli se kolko burza e mrejovata vruzka i kolko e burz dostupa do pametta. Ne si govorim za Gigabit Ethernet (vsushtnost 800MB), a za normalen Fast Ethernet. Viarno e che shm_* funkciite se zabaviat ot tova che dannite, koito se zakachat v pametta se serializirat pri pisane (obratno se deserializirat pri chetene), no (de)seriliazitora e dosta optimiziran.
Otnosno C++ i PHP. Zamisli se na kolko godini e C++ i na kolko e PHP. Ako ne se luja C++ e ezik na okolo 18 godini, a puk PHP 1.0 maj izliza 95-ta (t.e. 8 godini). Dokato C++ e triabvalo sam po sebe si da bude inovacionen, PHP pecheli ot tova che moje da implementira samo tova, koeto vremeto e pokazalo che e dobro. Zashto .NET e cutting edge? (po mnenieto na chovek zanimavasht se s Enterprise Java reshenia ot mega kalibur). Zashtoto Microsoft sa vzeli samo dobrite strani na Java ideologiata i vsichko ostanalo sa izhvurlili. C# ima operator overloading dori cast overloading - neshto, koeto Java shte dobaviat v budeshti versii.
S primera za .net iskam da pokaga che v PHP shte vleznat samo neshta za koito si struva. Goliama tejest razbira e vsichkiat sushtesvuvasht kod dosega. Spored posledniat Netcraft survey PHP go ima na > 10 miliona domain-a i pri nad 1.5 miliona IP-ta. Niama drug modul za Apache s takava populiarnost. Preminavaneto megdu php3 i php4 triabvashe da bude lesno, da byde vuzmogno da migrira vsichkiat kod dosega. PHP5 e neshto razlichno, koncepciite sa preoceneni. Loshite neshta se izhvurliat. Neka spomena che v 5-cata shte ima :
1. interface-i
2. PPP(private/protected/public) model
3. ad-hoc suzdavane na obekti i chlen promenlivi naj-veroiatno shte bude "deprecated"
4. kopirane na obekti po handle (za tezi, koito ne znaiat no obektniat model na PHP dosega e "syntatic sugar". Dobaven samo za da go ima.
5. Znachitelno podobren object overloading. overload extension-a minava v iadroto. Mojesh da si pravish proxy obekti i t.n.
6. Na bazata na 5 integraciata s drugi tehnologii znachitelno shte se podobri. Suzdaden e RPC layer. COM/Java/Mono/.NET/Corba/Soap/XmlRpc i drugi tehnologii ot tozi tip shte mogat da budat lesno implementirani v moduli. COM modula e gotov (reimplementiran).
7. ADT modula. Abstract Data Types. Opashki, stekove, durveta, grafi i dr. kato vgradeni tipove.
8. Exceptions
9. Namespaces (bez vugmognost za vlagane)
10. User space potoci. Kato edno ot neshatata, koito mogat da se praviat e da zastanesh na vhoda na dannite i da gi validirash. T.e. registirash funkcia, koiato da se grigi da pregleda vhodnite (blagodareni na R. Lerdorf) - direktno prilojeno ot Yahoo!.
Za kraj. Az bih se obzalojil, koe reshenie shte specheli ako se sypostavi baza sresthu shm!
Re: shm_put_var
Pishi mi na andrey@php.net, moga da ti dam gotov kod za zashtita na shm promenliva sus semaphore taka che da ne si "gubish" vremeto da go implementirash. Smiatam che problema e tam kudeto go useti. Iavno imash race condition pri, kojto 2 procesa pishat v pametta i neshatat se namazvat. Dori i da ti e ednoprocesornata sistema, nikoga ne si siguren koga scheduler-a na iadroto shte prehvurli upravlenieto na drug proces i tozi drug proces niama da ti namaje dannite. Moga da opravdaia rabota sus shm bez semaphore samo v sluchai che osushtestviavash samo chetene.
Andrey
Andrey
Re: аз идея нямам, ама да се оплача и аз...
Torbalan,
imash li neshto protiv da dadesh niakakuv test case. Naj-dobre e edin zip s php script i edin file s kirilicata, koiato ti suzdava problemi. Slogi go niakude za da go svalia i da se opitam da razbera kakvo se sluchva.
Blagodaria
imash li neshto protiv da dadesh niakakuv test case. Naj-dobre e edin zip s php script i edin file s kirilicata, koiato ti suzdava problemi. Slogi go niakude za da go svalia i da se opitam da razbera kakvo se sluchva.
Blagodaria
Re: аз идея нямам, ама да се оплача и аз...
ами ако са две машини - не е ясно, щото те може да не са вързани с фаст етернет а с нещо дето ние с теб да не сме го и чували дори...
и още нещо питам в таз посока - какво става с паметта когато не стига? когато се наложи да се пише по диска и да се мятат сегменти напред назад...м?
класическият случай според мен е една машина, на която работи всичко...
от друга страна ще използвам това, което ти пишеш....
Zamisli se na kolko godini e C++ i na kolko e PHP.
сега ти се замисли колко девелопери ползват функциите за работа с бази данни и колко ползват тези за поделена памет, колко бъгове са докладвани за едното и колко за другото, на колко от бъговете е обърнато внимание, и къде разработчиците на РНР хвърлят по големи усилия за оптимизиране и отстраняване на бъговете?
въпростъ ми е - колко ще спечелиш от това, че няма да ползваш бази данни, какво ще загубиш, ще останат ли функциите, които ползваш в следващата версия?
защото бързодействието само по себе си не върши никаква работа, ако цялата система се дъни...какво от това, че работи супер бързо ако блокира веднъж на ден?
и както някъде по назад бях писал - очаквам седмата версия на РНР да е досуш същата като първата на C# ;-)
[линк]
и още нещо питам в таз посока - какво става с паметта когато не стига? когато се наложи да се пише по диска и да се мятат сегменти напред назад...м?
класическият случай според мен е една машина, на която работи всичко...
от друга страна ще използвам това, което ти пишеш....
Zamisli se na kolko godini e C++ i na kolko e PHP.
сега ти се замисли колко девелопери ползват функциите за работа с бази данни и колко ползват тези за поделена памет, колко бъгове са докладвани за едното и колко за другото, на колко от бъговете е обърнато внимание, и къде разработчиците на РНР хвърлят по големи усилия за оптимизиране и отстраняване на бъговете?
въпростъ ми е - колко ще спечелиш от това, че няма да ползваш бази данни, какво ще загубиш, ще останат ли функциите, които ползваш в следващата версия?
защото бързодействието само по себе си не върши никаква работа, ако цялата система се дъни...какво от това, че работи супер бързо ако блокира веднъж на ден?
и както някъде по назад бях писал - очаквам седмата версия на РНР да е досуш същата като първата на C# ;-)
[линк]
Re: аз идея нямам, ама да се оплача и аз...
Нямам
[линк]
[линк]
[линк]
<?
$url = $_SERVER['REQUEST_URI'];
echo ":".$url."<BR>";
$url = urldecode($url);
echo ":".$url."<BR>";
$url = iconv("utf-8", "windows-1251", $url);
echo ":".$url;
?>
това е целия текст на iconv.php
гвоздея е с третия линк...опитай да сменяш енкодинга от 1251 на UTF8
с две думи - немам думи..)))
а има ли нещо като дебъгер за РНР?
[линк]
[линк]
[линк]
[линк]
<?
$url = $_SERVER['REQUEST_URI'];
echo ":".$url."<BR>";
$url = urldecode($url);
echo ":".$url."<BR>";
$url = iconv("utf-8", "windows-1251", $url);
echo ":".$url;
?>
това е целия текст на iconv.php
гвоздея е с третия линк...опитай да сменяш енкодинга от 1251 на UTF8
с две думи - немам думи..)))
а има ли нещо като дебъгер за РНР?
[линк]
Re: аз идея нямам, ама да се оплача и аз...
> ами ако са две машини - не е ясно, щото те може да не са вързани с фаст етернет а с нещо дето ние с теб да не сме го и чували дори...
Mda, moge da e FiberChannel. No ako ne e FastEthernet togava vsushnost sistemata edva li e ot 2 mashini, a ot poveche. Tam veche SHM niamash. Vsichko e DB. Az govoreh za tipichniat sluchai - Fast Ethernet 2 mashini (web i DB).
>и още нещо питам в таз посока - какво става с паметта когато не стига? когато се наложи да се пише по диска и да се мятат сегменти напред назад...м?
Osiguriviavash si che imash dostatuchno pamet. Ako ne dostiga kupuvash. Ako imash tolkova mnogo hit-ove iavno si populiaren. Ako si populiaren znachi shte namerih pari.
>класическият случай според мен е една машина, на която работи всичко...
Ima i takuv variant. No sum bil 2 godini v situacia, kudeto biaha 2. Tova e predimstvo.
>сега ти се замисли колко девелопери ползват функциите за работа с бази данни и колко ползват тези за поделена памет, колко бъгове са докладвани за едното и колко за другото, на колко от бъговете е обърнато внимание, и къде разработчиците на РНР хвърлят по големи усилия за оптимизиране и отстраняване на бъговете?
Zamisli se ot kolko godini ima *nix/Linux i ot kolko godini ima bazite, koito se polzvat. Shm e koncepcia v *nix ot samoto nachalo. IPC (inter process communication). Znachi koda e stabilen. Modula e mnogo tunuk wrapper nad sistemnite funkcii. Kakto v posledno vreme spomenavam. PHP e vsushtnost v po-goliamata si stepen parazitirasht ezik. Kakvato i biblioteka da ima na C ili C++ s goliama veroiatnost tia moge da se polzva s PHP. Presen primer mi e tova che uspiah v niakakva stepen da obvia svga_lib i da si upravliavam video kartata. I tova s niakolko chasa trud. Malko izbiagah ot temata.
Viarno e che poveche hora polzvat modulite za bazi danni (naj-veche mysql). No koda na modula za mysql previshava moge bi v puti goleminata na modula za SHM. Naprimer zaradi tova che imash connection pooling v module-land). Funkciite za SHM sa dostupni ot 3.0.6 nagore (taka pishe v docs) (po vremeto na 3.0.6 ne sum se zanimaval s PHP).
>въпростъ ми е - колко ще спечелиш от това, че няма да ползваш бази данни, какво ще загубиш, ще останат ли функциите, които ползваш в следващата версия?
Pecheli se skorost, gubi se prenosimost. T.e. ako sistemata e takava che v edin moment shte triabva da se razshiri do poveche ot 1 web server, togava se gubi pochti celiat smisul na SHM. Kazvam pochti celiat smisul zashtoto vse pak ostava vuzmognostta da izpolzvash SHM kato burza pamet za chetene i garantirano imash pamet, zashtoto ia zadeliash dosta rano. Durjish si v SHM cache-irana informacia.
>защото бързодействието само по себе си не върши никаква работа, ако цялата система се дъни...какво от това, че работи супер бързо ако блокира веднъж на ден?
Tuk ne si prav. Problema ne e v ezika, problema e v programista. Programite praviat samo tova, koeto sa instruktirani da praviat. Kakto mogesh da se usetish ako si se interesuval ot teoria na operacionni sistemi shte znaesh kakvo e kritichna sekcia i semafor. Togava shte si naiasno che "dzver" e propusnal da si vkara pisaneto v kritichna sekcia (da si go zashtiti sus semafor) i v krajna smetka si e dokaral "race condition".
>и както някъде по назад бях писал - очаквам седмата версия на РНР да е досуш същата като първата на C# ;-)
Az ot vreme na vreme se vkliuchvam v tozi forum. Ima periodi ot sedmici, kogato ne idvam, taka che iavno sum go propusnal. PHP nikoga niama da bude kato purvata versia na C# celta ne e takava. Kakto i che PHP nikoga niama da bude Java (dumi na Zeev Zuraski). Vagnoto e da otkradnesh idei, koito da ti pomognat da oceleesh v sobstvenata si nisha. A v nishata si PHP s izvestna trudnost shte bude izmesten. Vsushtnost v sferata na neprofesionalni i poluprofesionalni sistemi smiatam che JSP, Perl ili ASP niamat predimstvo. V momenta celta e PHP da navleze na enterprise pazara, kudeto JSP ima silni pozicii. Silni pozicii, ne zashtoto e lesno da napravish interface s JSP, a zashtoto mogesh da imash veche izgraden framework na Java, koito da vdignesh v web. Samo che PHP sus stabilen Java modul e edna ot stupkite. Drugata ia spomenah v spisuka. Programistite da imat v rucete si sredstvo, s koeto prilogenia ot hiliadi redove kod sa po-lesni za upravlenie.
Mda, moge da e FiberChannel. No ako ne e FastEthernet togava vsushnost sistemata edva li e ot 2 mashini, a ot poveche. Tam veche SHM niamash. Vsichko e DB. Az govoreh za tipichniat sluchai - Fast Ethernet 2 mashini (web i DB).
>и още нещо питам в таз посока - какво става с паметта когато не стига? когато се наложи да се пише по диска и да се мятат сегменти напред назад...м?
Osiguriviavash si che imash dostatuchno pamet. Ako ne dostiga kupuvash. Ako imash tolkova mnogo hit-ove iavno si populiaren. Ako si populiaren znachi shte namerih pari.
>класическият случай според мен е една машина, на която работи всичко...
Ima i takuv variant. No sum bil 2 godini v situacia, kudeto biaha 2. Tova e predimstvo.
>сега ти се замисли колко девелопери ползват функциите за работа с бази данни и колко ползват тези за поделена памет, колко бъгове са докладвани за едното и колко за другото, на колко от бъговете е обърнато внимание, и къде разработчиците на РНР хвърлят по големи усилия за оптимизиране и отстраняване на бъговете?
Zamisli se ot kolko godini ima *nix/Linux i ot kolko godini ima bazite, koito se polzvat. Shm e koncepcia v *nix ot samoto nachalo. IPC (inter process communication). Znachi koda e stabilen. Modula e mnogo tunuk wrapper nad sistemnite funkcii. Kakto v posledno vreme spomenavam. PHP e vsushtnost v po-goliamata si stepen parazitirasht ezik. Kakvato i biblioteka da ima na C ili C++ s goliama veroiatnost tia moge da se polzva s PHP. Presen primer mi e tova che uspiah v niakakva stepen da obvia svga_lib i da si upravliavam video kartata. I tova s niakolko chasa trud. Malko izbiagah ot temata.
Viarno e che poveche hora polzvat modulite za bazi danni (naj-veche mysql). No koda na modula za mysql previshava moge bi v puti goleminata na modula za SHM. Naprimer zaradi tova che imash connection pooling v module-land). Funkciite za SHM sa dostupni ot 3.0.6 nagore (taka pishe v docs) (po vremeto na 3.0.6 ne sum se zanimaval s PHP).
>въпростъ ми е - колко ще спечелиш от това, че няма да ползваш бази данни, какво ще загубиш, ще останат ли функциите, които ползваш в следващата версия?
Pecheli se skorost, gubi se prenosimost. T.e. ako sistemata e takava che v edin moment shte triabva da se razshiri do poveche ot 1 web server, togava se gubi pochti celiat smisul na SHM. Kazvam pochti celiat smisul zashtoto vse pak ostava vuzmognostta da izpolzvash SHM kato burza pamet za chetene i garantirano imash pamet, zashtoto ia zadeliash dosta rano. Durjish si v SHM cache-irana informacia.
>защото бързодействието само по себе си не върши никаква работа, ако цялата система се дъни...какво от това, че работи супер бързо ако блокира веднъж на ден?
Tuk ne si prav. Problema ne e v ezika, problema e v programista. Programite praviat samo tova, koeto sa instruktirani da praviat. Kakto mogesh da se usetish ako si se interesuval ot teoria na operacionni sistemi shte znaesh kakvo e kritichna sekcia i semafor. Togava shte si naiasno che "dzver" e propusnal da si vkara pisaneto v kritichna sekcia (da si go zashtiti sus semafor) i v krajna smetka si e dokaral "race condition".
>и както някъде по назад бях писал - очаквам седмата версия на РНР да е досуш същата като първата на C# ;-)
Az ot vreme na vreme se vkliuchvam v tozi forum. Ima periodi ot sedmici, kogato ne idvam, taka che iavno sum go propusnal. PHP nikoga niama da bude kato purvata versia na C# celta ne e takava. Kakto i che PHP nikoga niama da bude Java (dumi na Zeev Zuraski). Vagnoto e da otkradnesh idei, koito da ti pomognat da oceleesh v sobstvenata si nisha. A v nishata si PHP s izvestna trudnost shte bude izmesten. Vsushtnost v sferata na neprofesionalni i poluprofesionalni sistemi smiatam che JSP, Perl ili ASP niamat predimstvo. V momenta celta e PHP da navleze na enterprise pazara, kudeto JSP ima silni pozicii. Silni pozicii, ne zashtoto e lesno da napravish interface s JSP, a zashtoto mogesh da imash veche izgraden framework na Java, koito da vdignesh v web. Samo che PHP sus stabilen Java modul e edna ot stupkite. Drugata ia spomenah v spisuka. Programistite da imat v rucete si sredstvo, s koeto prilogenia ot hiliadi redove kod sa po-lesni za upravlenie.
Re: аз идея нямам, ама да се оплача и аз...
V tozi primer greshkata si e tvoia. Vig si tretiat link kak e napraven che parametrite se pishat sled ?. Vsichko predi tova e chast ot edin vid ot scripta. Az lichno zabeliazah strannost zashtoto sum s opera i tretiat link izglegda ne mnogo korekten. Vsushnost po moeto licno mnenie iconv()-a raboti. no tova, koeto podavash ne e dobra. iconv.php e kudeto triabva v unicode tablicata, zashtoto se namira v ASCII-7. sled naklonenata imash text na kirilica, kojto ne e parametur na skripta i se kodira predpolagam ne s unicode, vsichko ostanalo e unicode. Vsushnost moge pak da ima problem v PHP-to, ne si zalagam glavata. No ne e v iconv(). Moge da vinish v tova che tova, koeto e sled vuprositelnata e unicode kodirano naj-verojatno.
Pozvolih si da ti promenia primera : [линк]????????????
Kato go probvah tova poluchih slendoto :
:/iconv.php?i=%EF%F0%EE%E1%E0?%E0%EB%E0%E1%E0%EB
:/iconv.php?i=проба?алабал
:
Koeto spored men e pravilniat rezultat. Nishto ne se namazva.
>а има ли нещо като дебъгер за РНР?
Da, ima i to ne samo edin. APD (chast ot APD, moge da profilira) ima i versia za windows, DBG (za win i linux - vurvi s niakoj IDE-ta), xdebug ([линк]). Tova sa free. Otdelno ActiveState Komodo ima debugger, kakto i Zend IDE-to. Zend IDE-to ne e nikak losho i e dosta dobro mislia v otdalecheniat debug. Az go polzvam za local debugging.
Pozvolih si da ti promenia primera : [линк]????????????
Kato go probvah tova poluchih slendoto :
:/iconv.php?i=%EF%F0%EE%E1%E0?%E0%EB%E0%E1%E0%EB
:/iconv.php?i=проба?алабал
:
Koeto spored men e pravilniat rezultat. Nishto ne se namazva.
>а има ли нещо като дебъгер за РНР?
Da, ima i to ne samo edin. APD (chast ot APD, moge da profilira) ima i versia za windows, DBG (za win i linux - vurvi s niakoj IDE-ta), xdebug ([линк]). Tova sa free. Otdelno ActiveState Komodo ima debugger, kakto i Zend IDE-to. Zend IDE-to ne e nikak losho i e dosta dobro mislia v otdalecheniat debug. Az go polzvam za local debugging.
Re: аз идея нямам, ама да се оплача и аз...
ще ме накараш да се замисля...
файла в който ми се появи проблема обработва грешка 404 и не искам да го бъзикам в момента
моя проблем се решава от факта, че след питанката нещата които аз слагам са винаги на латиница или цифри, а ако юзер зорлем набута кирилица там просто ще я игнорирам...
за дебъгване питам за локално, отдалечено не ми трябва за сега...
зенда сигурно е добър, ама средата му е ужасна, не мога тепърва да свиквам на елементарни неща като липса на драг анд дроп и подобни несгодии...може би за свикналите с линукс/юникс е удобен, ама за мен не е...
[линк]
а има ли някъде хелп за РНР подобен на микрософтските - писан от професионалисти за обикновени потребители?
[линк]
файла в който ми се появи проблема обработва грешка 404 и не искам да го бъзикам в момента
моя проблем се решава от факта, че след питанката нещата които аз слагам са винаги на латиница или цифри, а ако юзер зорлем набута кирилица там просто ще я игнорирам...
за дебъгване питам за локално, отдалечено не ми трябва за сега...
зенда сигурно е добър, ама средата му е ужасна, не мога тепърва да свиквам на елементарни неща като липса на драг анд дроп и подобни несгодии...може би за свикналите с линукс/юникс е удобен, ама за мен не е...
[линк]
а има ли някъде хелп за РНР подобен на микрософтските - писан от професионалисти за обикновени потребители?
[линк]
Редактирано от Topбaлaн на
Re: аз идея нямам, ама да се оплача и аз...
1. Govorihme si che niama tolkova dobur help, kolkoto MSDN-a.
2. Zend-a go polzvam samo za debug. Inache pisha v Ultra Edit. No ako neshto se nalogi da se debugva lokalno puskam Zend-a. V tozi sluchaj e udoben. Vig za dbg-to . Pusni na google.com : dbg i .ru (choveka, kojto go pravi e rusnak). A i maj e integrirano v phpedit(ne phped).
2. Zend-a go polzvam samo za debug. Inache pisha v Ultra Edit. No ako neshto se nalogi da se debugva lokalno puskam Zend-a. V tozi sluchaj e udoben. Vig za dbg-to . Pusni na google.com : dbg i .ru (choveka, kojto go pravi e rusnak). A i maj e integrirano v phpedit(ne phped).