2009-06-11 21 views
5

memcachedの現在の使用では、Memcacheサーバへの接続の設定と切断に時間がかかるため、大量のサーバで問題が発生しています。 memcachedへの永続的な接続を使用するとこの問題が緩和されますか?PHPのmemcachedへの永続的な接続

また、永続的なmemcahced接続を接続して使用するための好ましい方法は何ですか?私は、変数がランダムに私は間違った場所で探していますか、この上の情報の多くはそこにありません1-$POOL_SIZEから選択すると、その接続

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

のいずれかを使用して「POOL_SIZE」の設定を考えていました。

+2

ランダム接続を選択することは本当に必要ですか?最初に利用可能なものを選択するだけで良いのではないでしょうか? –

+0

「最初に利用可能なもの」とは何かを理解できません。それはどのように機能しますか? @jW。あなたはこれを理解したことがありますか? – ficuscr

答えて

1

PHPクライアントは永続的な接続を処理しません。あなたのプーリングアイデアを使用するか、永続的な接続をサポートするPHP用の第三者のmemcachedクライアントを使用する必要があります。このような

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

+5

標準的なpecl memcacheクライアントのように、永続的な接続を長時間サポートしているようです:http://www.php.net/manual/en/memcache.pconnect.php –

+1

@Frank、memcacheとmemcacheDの違いがありますon D) –

+4

memcachedで永続IDを指定する必要がありますhttp://www.php.net/manual/en/memcached.construct.php – srcspider

1

私は、永続的な接続機能が "memcachedの" PHP拡張モジュールで壊れていることを読みました。

最初:「持続的な」接続は破棄されません。 (これは問題ありません)

2番目:再利用しようとすると、新しいものが作成されます。 (これは悪いです)

結果:メモリリークが発生し、使用可能なすべてのRAMがますます消費されています。ここ

チェック:私が言ったようにhttp://brian.moonspot.net/php-memcached-issues

、私はこれを自分で経験していない - 私はちょうどリンク先の記事では、この情報をお読みください。

3

pecl/memcacheとpecl/memcachedは、プロセスごとに永続的な接続をサポートします。しかし、この時点でpecl/memcachedにバグが存在しています。

+1

これは私が思う... https://bugs.php.net/ bug.php?id = 59191 ... 6年後もまだ開いていますか?私は非常にmemcached永続的な接続によって混乱しています。 – ficuscr

関連する問題