Domanda

Per un sito LAMP a server singolo (che di solito è sotto carico piuttosto elevato), qual è il modo migliore per usare memcache?

Ha senso eseguire il demone memcache sullo stesso server dell'applicazione, o è solo per portare via memoria preziosa da MySQL, con una perdita di prestazioni netta. Ha senso usare memcache in questo scenario o è la soluzione migliore per avere sempre server dedicati per memcache?

Apprezzo che la profilazione del sito prima e dopo sarebbe necessaria per rispondere davvero a questa domanda, ma preferirei non farlo in questa fase sul sito live. Soprattutto perché qualcuno là fuori sicuramente conosce la risposta in testa.

È stato utile?

Soluzione

Di solito, la raccomandazione (vedi Che dire della memoria condivisa? nella pagina memorizzata ) deve eseguire memcached sulle stesse macchine dei server Web, con la premessa che le applicazioni web sono pesanti per la CPU (che memcached non è), mentre memcached è pesante per la memoria (che la maggior parte delle applicazioni web non lo sono, almeno in confronto).

Quindi, se il tuo server web ha molta memoria, è una buona idea eseguire memcached su di esso. YMMV.

Altri suggerimenti

Un'altra opzione da memorizzare nella cache - a seconda della scala delle informazioni che si sta memorizzando nella cache, è la memorizzazione nella cache in APC. Dovresti eseguire quella (o una cache del codice operativo simile) per aiutare ad accelerare comunque la consegna della pagina PHP, quindi se stai memorizzando la cache da qualche parte a un centinaio o più piccola (ne ho alcune a circa 15 KB ciascuna , su più di 70) variabili alla volta, potresti trovare dei vantaggi nel memorizzarle in APC.

Ho un sito che memorizza nella cache alcune ricerche DB, e memorizza anche nella cache un file config.ini post-analisi - e sul mio sito (occupato), salverò letteralmente milioni di potenziali accessi DB al giorno.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top