2009-06-11 14 views
5

Nel nostro attuale uso di memcached, stiamo incontrando problemi in un server ad alto volume perché viene utilizzato così tanto tempo per configurare e abbattere le connessioni al nostro server memcache. Usare le connessioni persistenti con la memcached aiuta ad alleviare questo problema?Connessioni persistenti alla memcached in PHP

Inoltre, qual è il modo preferito per connettersi e utilizzare connessioni permanenti memorizzate? Stavo pensando di impostare una variabile "pool_size" poi casualmente scegliendo tra 1-$POOL_SIZE e l'utilizzo di tale connessione

$mem = new Memcached(rand(1, $pool_size)); 

O Cerco nel posto sbagliato o non c'è un sacco di informazioni su questo là fuori.

+2

È davvero necessario selezionare una connessione casuale? Non sarebbe meglio solo selezionare il primo disponibile? –

+0

Non capisco cosa significa "primo disponibile". Come funzionerebbe? @jW. l'hai mai capito? – ficuscr

risposta

1

Il client php non gestisce le connessioni permanenti. devi utilizzare la tua idea di condivisione o utilizzare un client memcached di terze parti per php che supporti le connessioni persistenti.

come questo:

http://github.com/andreiz/php-memcached/tree/master

+5

Sembra che il client pecl memcache standard abbia supportato connessioni persistenti per molto tempo: http://www.php.net/manual/en/memcache.pconnect.php –

+1

@Frank, C'è una differenza tra memcache e memcacheD (enfasi su D) –

+4

In memcached è necessario specificare un ID persistente http://www.php.net/manual/en/memcached.construct.php – srcspider

1

Ho letto che caratteristica connessioni persistenti è rotto nella estensione PHP "memcached".

Primo: la connessione "persistente" non viene distrutta. (Questo è ok)

Secondo: quando si tenta di riutilizzarlo, ne crea uno nuovo! (Questo è male!)

Risultato: perdite di memoria, consumando sempre più tutta la RAM disponibile.

Controllare qui: http://brian.moonspot.net/php-memcached-issues

Come ho detto, non ho sperimentato io stesso - Ho appena letto questa informazione in questo articolo collegato.

3

Sia pecl/memcache che pecl/memcached supportano connessioni permanenti per processo. Tuttavia, l'errore esiste in pecl/memcached in questo momento.

+1

Questo penso ... https://bugs.php.net/ bug.php? id = 59191 ... ancora aperto 6 anni dopo? Sono molto confuso dalle connessioni persistenti memcached. – ficuscr

Problemi correlati