Re: [rlug] memcached
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
Multumesc ... ___ RLUG mailing list RLUG@lists.lug.ro http://lists.lug.ro/mailman/listinfo/rlug
Re: [rlug] memcached
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
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
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
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
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
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
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
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