Re: [rlug] memcached

2008-11-13 Fir de Conversatie Petru Ratiu
On Thu, Nov 13, 2008 at 15:27, Silviu Dicu [EMAIL PROTECTED] wrote:

 Foloseste(a folosit) cineva memcached ?

Nu.

PS: http://wiki.lug.ro/mediawiki/index.php/Cum_se_pun_intrebari_inteligente

-- 
  Unix was written to play Spacewar and cheat at Scrabble,
   but Linux was created merely to prove that it booted. - a.s.r. quote

___
RLUG mailing list
RLUG@lists.lug.ro
http://lists.lug.ro/mailman/listinfo/rlug


RE: [rlug] memcached

2008-11-13 Fir de Conversatie Silviu Dicu
Multumesc ...


___
RLUG mailing list
RLUG@lists.lug.ro
http://lists.lug.ro/mailman/listinfo/rlug


Re: [rlug] memcached

2008-11-13 Fir de Conversatie Dragos Chiriac

Silviu Dicu wrote:

Salut,

Foloseste(a folosit) cineva memcached ?


http://www.danga.com/memcached/
  
La ce si cu ce framework/limbaj/api etc ... ? Daca te intrebi daca 
merge, da merge.


Dragos


silviu


___
RLUG mailing list
RLUG@lists.lug.ro
http://lists.lug.ro/mailman/listinfo/rlug

  



___
RLUG mailing list
RLUG@lists.lug.ro
http://lists.lug.ro/mailman/listinfo/rlug


RE: [rlug] memcached

2008-11-13 Fir de Conversatie Silviu Dicu
 

 http://www.danga.com/memcached/
   
La ce si cu ce framework/limbaj/api etc ... ? Daca te intrebi daca
merge, da merge.
--
Php/java/perl

Am vazut ca facebook il foloseste (cel putin asa spun ei) si sint sigur
ca merge.
Ce ma intereseaza:

- Sint diferentele majore comparat fata de un cache php clasic (in
termeni de operare ) 
- in cazul in care daemonul nu este functional ce se intimpla (trebuie
sa faci un fel de 'checked exception' in
Cod ?!)
- Cit este de stabil si scalabil - daca ai doi daemoni pe doua servere
este posibil ca ei sa se syncronizeze ori opereaza
individual ? - moare unul celalat ii ia locul (ha)
- cum se poate monitoriza  (script in nagios ?!)
- am db-uri care fac numai 'read' - este fezabil sa inlocuiesc un db cu
memchached ?!


multumesc
--




___
RLUG mailing list
RLUG@lists.lug.ro
http://lists.lug.ro/mailman/listinfo/rlug


Re: [rlug] memcached

2008-11-13 Fir de Conversatie Bogdan Lucaciu
On Thu, Nov 13, 2008 at 3:27 PM, Silviu Dicu
[EMAIL PROTECTED] wrote:

 Salut,

 Foloseste(a folosit) cineva memcached ?

I'm feeling lucky: http://www.google.com/search?q=who+uses+memcachedbtnI

The system is used by several very large, well-known sites including
YouTube[2], LiveJournal, Slashdot, Wikipedia, SourceForge, ShowClix,
GameFAQs, Facebook[3], Digg, Twitter[4], Fotolog, BoardGameGeek,
NYTimes.com, deviantART, Jamendo, Kayak, VxV, The Pirate Bay[5] and
Netlog.[6]

Iti raspunde la intrebare?

Daca ai intrebari concrete, vezi ce a zis petre kthx

-- 
Bogdan Lucaciu

___
RLUG mailing list
RLUG@lists.lug.ro
http://lists.lug.ro/mailman/listinfo/rlug


[rlug] memcached

2008-11-13 Fir de Conversatie Silviu Dicu

Salut,

Foloseste(a folosit) cineva memcached ?


http://www.danga.com/memcached/


silviu


___
RLUG mailing list
RLUG@lists.lug.ro
http://lists.lug.ro/mailman/listinfo/rlug


Re: [rlug] memcached

2008-11-13 Fir de Conversatie Dragos Chiriac

Silviu Dicu wrote:
 

  

http://www.danga.com/memcached/
  


La ce si cu ce framework/limbaj/api etc ... ? Daca te intrebi daca
merge, da merge.
--
Php/java/perl

Am vazut ca facebook il foloseste (cel putin asa spun ei) si sint sigur
ca merge.
Ce ma intereseaza:

- Sint diferentele majore comparat fata de un cache php clasic (in
termeni de operare )
dap, cachuieste obiecte. poti sa-l foloseti in paralel cu un sistem de 
cache al template-urilor ... imaginatia e singura frana in ceea ce 
priveste la ce poti sa-l folosesti.
 
- in cazul in care daemonul nu este functional ce se intimpla (trebuie

sa faci un fel de 'checked exception' in
Cod ?!)
  
in principiu cel putin in php da, tre sa te ocupi tu de asta. dar exista 
frameworks care au grija de asta pt tine suficient de elegant (cakephp 
de ex).

- Cit este de stabil si scalabil - daca ai doi daemoni pe doua servere
este posibil ca ei sa se syncronizeze ori opereaza
individual ? - moare unul celalat ii ia locul (ha)
  
Nu se copiaza, nu sunt redundante. Dar daca ai in ambii clienti (ala 
care scrie si ala care citeste) acceasi lista de servere si foloseti 
acceasi biblioteca algoritmul de cache stie sa faca load balancing 
automat. Nu te astepta sa scrii cu perl si sa citesti cu php (nativ). 
Fiecare biblioteca salveaza cum a fost sa fie implementarea. ex :PHP 
salveaza ca serialize() iar Perl ca Storable. (era si o implementare 
.net care tine xml, ca sa obtii beneficii de viteza parsand xml, LOL). 
Daca adaugi sau scoti un server din lista toate celelate cache-uri din 
lista sunt invalidate, si reincepe popularea.


In principiu cam toate memcache-urile din lista ar fi mai bine sa fie up 
la orice moment. Cat e down programul tau ar trebui sa isi ia datele 
care erau acolo direct de la sursa. Cand isi revine, incepi sa-l 
repopulezi.


Nu e foarte wize sa foloseti acelasi memcached pt aplicatii multiple 
(numele key-lor/variabilelor) cu biblioteci multiple (o sa mai obtii si 
un haos destul de dragut la encodare/decodare in caz de conflict). Nu 
inseamna ca nu merge daca ai grija, dar mai bine nu incerci. E nonblocking.

- cum se poate monitoriza  (script in nagios ?!)
  
Daca stii de ce intrebi. check port is open, write to cache random value 
to unique key, read from cache, check daca sunt la fel. exit cu codul 
corespunzator.
Mai exista si tutorialul asta : 
http://www.netuality.ro/monitoring-memcached-with-cacti/tools/20060802 
(ca sa fim nationalisti)

- am db-uri care fac numai 'read' - este fezabil sa inlocuiesc un db cu
memchached ?!
  
Nu prea, stored procedures sunt de obicei mai rapide. memcached se 
foloseste in general pentru tinerea sesiunilor in sistemele cu multi 
useri si a datelor des accesate. Daca datele nu se schimba rapid in timp 
mai bine le tii direct in config ca array, d-astea. De exemplu un RSS de 
la CNN poate fi salvat direct ca string in memcached si updatat direct 
acolo (sau scris direct pe disk :P). Comentariile de la articolele care 
NU sunt pe prima pagina ... nu e foarte folositor. Oricum la sub 20 de 
hit-uri pe secunda in baze de date cu tabele pe la 10.000 inregistrari 
(pe un desktop normal) e mai ieftin ca timp si efort sa optimizezi baza 
de date decat sa treci la memcached. Anyway, tu stii mai bine ce ai. 
Memcached e teoretic mai rapid cu PHP (serialise is meant to be fast) 
sau PERL. Sub java s-ar putea sa ramai surprins, da' aproape in orice 
conditii e mai incet. Pur si simplu pt ca scopul lui memcached e altul. 
Sa scaleze si sa ia load-ul de pe serverele de baze de date si sa fie 
suficient de rapid, nu sa fie mai rapid sau sa le inlocuiasca.


Probabil si alte intrebari pe care ti le pui au raspunsul aici :
http://www.socialtext.net/memcached/index.cgi?faq

Citeste mai ales partea cu race conditions. Cu un pic de imaginatie s-ar 
putea sa-ti dai seama ca ... poate fii chiar mai rau daca nu ai 
cronjoburi/daemon in spate care sa aiba grija de memcached si sa-l tina 
consistent si up2date. Si eventual sa trebuiasca sa faci aberatii de 
genul emulare de lockuri (nu exista nativ). De asta am renuntat ultima 
oara la el si am pus 2 servere de baze (master/slave) de date in loc. 
Mare parte din info e trasa din limitata mea experienta PHP-istica.




Sper sa fie de folos.
Dragos


multumesc
--




___
RLUG mailing list
RLUG@lists.lug.ro
http://lists.lug.ro/mailman/listinfo/rlug

  



___
RLUG mailing list
RLUG@lists.lug.ro
http://lists.lug.ro/mailman/listinfo/rlug


RE: [rlug] memcached

2008-11-13 Fir de Conversatie Silviu Dicu
 
Multumesc - foarte util.
Obiectivul meu este sa storc cit mai mult dintr-un multiplatform sistem.

Din cite am vazut nu cred ca o merg cu memchached decit pentru anumite
app.

Principala chestie care nu imi place este ca nu pot sa scriu in php si
sa citesc
in java/perl (am vazut ca sint alternative dar asta inseamana sa modific
cam totul ...
mai bine facem alt sistem in cazul asta). 

Avind in vedere obiectivul asta o sa incerc alte tehnici

http://www.mysqlperformanceblog.com/2006/08/09/cache-performance-compari
son/

una care mi se pare foarte atractiva si vad ca nu o avem este
mysql-query-cache.


salut


___
RLUG mailing list
RLUG@lists.lug.ro
http://lists.lug.ro/mailman/listinfo/rlug


Re: [rlug] memcached

2008-11-13 Fir de Conversatie Dragos Chiriac

Silviu Dicu wrote:

http://www.mysqlperformanceblog.com/2006/08/09/cache-performance-compari
son/

una care mi se pare foarte atractiva si vad ca nu o avem este
mysql-query-cache.
  

Alte locuri unde sa te uiti (php specific) :
O alternativa daca tii sa faci multe selecturi si putine update-uri e sa 
creezi tabele HEAP (in memorie) si sa muti datele acolo (si sa le 
updatezi SI acolo cand e cazul). Nu sunt chiar cache, dar sunt destul de 
rapide (dar volatile).
Daca te uiti la http://adodb.sourceforge.net/ vei gasi acolo ceva pt 
prepared statements si caching support pentru memcached si file.


Depinde de ce cod ai si cat ai chef sa-l schimbi.
|
Sincer la cat costa hardware vs cat costa ora de 
programare/testare/deployment cea mai normala solutie este sa ai un 
server pe care sa-l lovesti cu inserturi si n replici din care sa faci 
selecturi. Modificarile din cod sunt mai mici, si rezultatul e mai usor 
de citit de catre oameni care nu stiu prea multe. Deci e mai simplu de 
debug/reparat in caz de bug-uri. Merge indiferent de platforma la fel si 
ai si lock-uri sa mai eviti din race conditions.


||Parerea mea (stiu ca e enervant).|
|
Dragos

|

___
RLUG mailing list
RLUG@lists.lug.ro
http://lists.lug.ro/mailman/listinfo/rlug


RE: [rlug] memcached

2008-11-13 Fir de Conversatie Silviu Dicu
 
Da, ai dreptate referitor la costuri ore umane vs. cost hardware.
Daca as face tot ce vreau eu ar fi intr-un fel dar dupa cum ti-ai 
dat seama nu e cazul :) - asa ca tre sa fac tot felul de chestii etc.

Concluzia mea (fara sa il folosesc numai din ce am citit) e ca memcached
e foarte
bun DACA la nivelul (re)design/code(review) se ia in considerare si se
aplica daca
pierzi fereastra asta devine din ce in ce mai putin fezabil din motivele
de mai
sus.

silviu


___
RLUG mailing list
RLUG@lists.lug.ro
http://lists.lug.ro/mailman/listinfo/rlug