Memcached garip sorun!

0 Cevap php

Ben 250K DAÜ ile bir Facebook uygulaması var. Ben dosyaları önbelleğe için Memcached kullanımı ve MySQL benim sunucu deli gidiyor olmadan çünkü seçer.

Ben bu gibi kod kurdunuz:

$memcache = new Memcache;
$memcache->connect('127.0.0.1', 11211) or die ("Could not connect");

/ / İÇİN DOSYALAR

$doc = $memcache->get('mem_index_html');

if ($doc == null)
{
    $doc = new Document( HTML.'index.html' );
    $memcache->set('mem_index_html', $doc, 0, 86400);
}

/ / SQL İÇİN

$sql=sprintf('count(qtn_id) FROM tb_questions where qtn_lang="EN"));
$total_pages = $memcache->get($sql);

if ($total_pages == null)
{       
    $query_id = DB::query($sql);        
    list( $total_pages ) = DB::nextRow( $query_id );
    DB::free( $query_id );
    $memcache->set($sql, $total_pages, 0, 86400);
}

The problem is that after some time – usually 24 hours, errors are starting to show. No log is created but I receive a timeouts if I try to reload the page. I assume that there is a lots of traffic in that moments, the Memcached is not working correct and everything is slowing down. My temporary solution is to Flush the memcache - $memcache->flush(), but that is not good solution.

Ben yanlış bir şey yapıyorum? Optimize etmek için ya da ben bilmiyorum bir şey var mı. Ben daha o bir Memecached sunucuları yapma konusunda web'de bu http://code.google.com/p/memcached/wiki/TutorialCachingStory aracılığıyla arama bulundu. En iyi çözüm bu mu?

Cevaplar için teşekkürler.

Darko

0 Cevap