Задать вопрос
usja
@usja

Zend Cache и как быть с большим количеством файлов кэша?

Есть проект, который написан на Zend. В качестве кэширования используется файловый Zend_Cache.
В некоторые записи кэша попадают данные по 2-10 Мб.
Есть и разные мелкие.
Общее количество файлов кэша ~ 5000.
При таком количестве очистка кэша по тэгу, а, порой, и чтение данных по ключу кэша отправляет сервер в долгие размышления файлы Cache.php (библиотека Zend Framework).
Как быть в этой ситуации? Переносить кэш с файлов в Memcache?

Настойки:
$cacheBackendOptions = array(
'cache_dir' => APPLICATION_PATH . '/data/cache/',
'file_name_prefix' => 'klm',
'hashed_directory_level' => 2

);
$cache = Zend_Cache::factory('Core',
'File',
$cacheFrontendOptions,
$cacheBackendOptions);


* This source code was highlighted with Source Code Highlighter.
  • Вопрос задан
  • 3255 просмотров
Подписаться 2 Оценить 1 комментарий
Решения вопроса 1
opium
@opium
Просто люблю качественно работать
Да вы правы дайте мемкеша ему, смените файловую систему, кешируйте не все подряд, а только популярное.
Ответ написан
Пригласить эксперта
Ответы на вопрос 3
zizop
@zizop
Есть несколько вариантов.
1. Оставляете кэш в файлах, ставите SSD-диск :-)
2. Оставляете HDD-диск, переносите кэш в memcached/apc(shmop), благо в ZF переключить адаптер раз плюнуть.
Кстати, почему вы раньше не перенесли кэш в Memcached? Унаследованный код?
Ответ написан
usja
@usja Автор вопроса
Я, так понимаю, что вся проблема в винте, точнее в скорости чтения?
В принципе, на том сервере еще сайтов 5-6.
Ответ написан
Комментировать
beono
@beono
2-10 Мб это много. Смею предположить, что толку от такого кеша нет, т.к. будет тратиться много времени на чтение огромных файлов кеша. Может вы там много лишнего у БД запрашиваете?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы