Ошибка Memcached «Не удалось подключиться» в часы пик

Я использую memecached на своем веб-сайте (php, mysql, apache, ubuntu ..), он работает очень быстро, но в «часы пик» я получаю много сообщений об ошибке « не удалось подключиться », иногда пользователям нужно обновить 5 раз, чтобы увидеть содержимое.

У меня на сервере 24 ГБ оперативной памяти, и команда "top" дает мне это для процесса memcached:

4135 nobody    20   0  161m  37m  836 S    7 (%CPU)  0.2 (%MEM)   0:07.06 memcached

Я запускаю сервер memcached следующим образом:

memcached -d -u nobody -m 8192 -p 12000 -c 11212

И это моя функция PHP:

<?
function cache_sql($query,$update,$time=0)
{

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

    $file = $m->get(md5($query));

    if($update == 1)
    {
        $results = mysql_query($query);
        while($data = mysql_fetch_array($results)){$records[] = $data;}

        if(!$file)
        {
            $m->set(md5($query), $records, NULL, $time);
        }
        else
        {
            $m->replace(md5($query), $records, NULL, $time);
        }
    }
    else
    {
        if(!$file)
        {
            $results = mysql_query($query);
            while($data = mysql_fetch_array($results)){$records[] = $data;}

            $m->set(md5($query), $records, NULL, $time);
            return $records;
        }
        else
        {
            return $file;
        }
    }

}
?>

Я выполняю это правильно?

5
задан Tahola 26 October 2011 в 21:01
поделиться