Sto utilizzando RDS su Amazon con un'interfaccia MySQL. La mia applicazione gira su nodi EC2 e legge/aggiorna il database, ma il numero di letture e scritture è eccessivo e riduce le prestazioni. Il più delle volte il numero di connessioni supera il limite consentito. Stavo considerando l'utilizzo di Elasticache per migliorare le prestazioni, tuttavia non ho trovato risorse sul Web, come configurare il database per utilizzarlo in modo efficace. È questo il modo migliore per migliorare le mie prestazioni di lettura/scrittura? Qualche suggerimento?Utilizzo di ElastiCache con RDS per migliorare le prestazioni di lettura/scrittura
risposta
Non si può semplicemente "attivare" memcache. È necessario scrivere codice che interagisca con memcache, in modo tale che i risultati della query del database siano memorizzati nella cache in memcache. Date un'occhiata a questa guida gli utenti - penso che vi darà una buona idea di come viene utilizzato memcache:
http://www.memcachier.com/documentation/memcache-user-guide/
performance è legata al tipo e la struttura delle query utilizzate, quindi ci potrebbe essere un po 'di spazio per l'ottimizzazione. Forse puoi fornire maggiori dettagli sulle query esatte utilizzate. Tuttavia, è possibile affrontarlo da un'angolazione diversa: se si dispone di una funzionalità di ridimensionamento automatico, è possibile ridimensionare il database su macchine aggiuntive, se necessario, in modo da poter ospitare un numero infinito di connessioni anche senza ottimizzare le prestazioni (ovviamente se ottimizzarlo migliorerà le prestazioni). Questo non è possibile su RDS, ma ci sono almeno altri due provider di cloud DB in esecuzione su EC2 che sono a conoscenza dei quali offrono il ridimensionamento automatico dell'offerta - www.xeround.com e www.enterprisedb.com.
È possibile utilizzare elasticache come cache di secondo livello per il db rds. Se usi java puoi usare la lib hibernate-memcached. Ma devi ancora configurare come e cosa memorizzare nella cache di secondo livello a seconda dei tuoi dati.
Inoltre, è possibile utilizzare la replica di lettura su RDS almeno per dividere il traffico di lettura.
(Che tipo di istanza stai usando, hai visto che essi hanno diverse I/O capacità?)
www.xenround.com è ancora in fase beta. – spideringweb