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