я использую memecached на моем веб-сайте (php, mysql, apache, ubuntu ..), он работает очень быстро, но в «часы пик» я получаю много « Не удается подключиться * 1004» * "сообщение об ошибке, иногда пользователям необходимо обновить 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;
}
}
}
?>
Я правильно делаю?