+  HandyCache форум
|-+  Главная категория» Общие вопросы» форсирование использования RAM-кеша
Имя пользователя:
Пароль:
Страниц: [1] 2  Все   Вниз
  Отправить эту тему    Печать  
Автор Тема: форсирование использования RAM-кеша  (Прочитано 11524 раз)
0 Пользователей и 1 Гость смотрят эту тему.
antonn
Новичок
*

Репутация: +0/-0
Offline Offline

Сообщений: 7


« : 06 января 2013, 22:29:11 »

Собственно вопрос - как форсировать использование RAM-кеша? за пять дней аптайма и активном серфинге в кеше лежит 700 файлов на объем в 3мб. Готов запросто выделить процессу под 2-4Гб, пока в настройках указал 500Мб - но даже 10Мб не видел ни разу.
Сообщить модератору   Записан
Anymore
Beta tester
*****

Репутация: +17/-0
Offline Offline

Сообщений: 339


« Ответ #1 : 07 января 2013, 00:43:16 »

Там есть параметр {максимальный размер файла}. Если поставить 512 то файлов будет заметно больше. Только не жди чудес;)
Сообщить модератору   Записан
antonn
Новичок
*

Репутация: +0/-0
Offline Offline

Сообщений: 7


« Ответ #2 : 07 января 2013, 08:16:03 »

я сразу поставил туда 5000...
Сообщить модератору   Записан
LordMerlin
Старожил
****

Репутация: +12/-8
Offline Offline

Сообщений: 488


« Ответ #3 : 08 января 2013, 15:31:19 »

Кстати да, тоже очень бы хотелось по максимуму использовать память, например путем записи сначала в нее а потом асинхронно в дисковый кеш, и чтобы выборка сначала из него работала а потом с диска.
А то дурная ситуация, памяти 16Гб, в настройках макс размер 2048байт, размер кеша 100 мб а реально размер РАМ кеша 722кб и взято оттуда 14!!!!! блин файлов...КАКОГО?Непонимаю
Сообщить модератору   Записан
LordMerlin
Старожил
****

Репутация: +12/-8
Offline Offline

Сообщений: 488


« Ответ #4 : 09 января 2013, 16:01:06 »

Так есть у кого какие мысли? Как на всю задействовать РАМ кеш? А то сейчас его считай нет.
Сообщить модератору   Записан
mai62
Автор HC
*****

Репутация: +226/-4
Offline Offline

Сообщений: 6383


« Ответ #5 : 09 января 2013, 16:47:34 »

Сделать RAM-диск и на нем расположить основной кэш.
Сообщить модератору   Записан
LordMerlin
Старожил
****

Репутация: +12/-8
Offline Offline

Сообщений: 488


« Ответ #6 : 09 января 2013, 17:13:06 »

Спасибо но не конструктивно.
Зачем тогда делался раздел РАМ кеша в программе если он не работает.
Не, я не в претензию, мне НС очень нравится. И есть куда развиваться.
Потому что ВЕСЬ кеш какой хочется в РАМ всеравно не запхнешь, и отъедание жестко зарезервированного куска памяти тоже глупости.
Вот бы хранил НС в памяти зеркальную копию папки кеш что на диске но до момента заполнения по ограничению в настройках, и чтобы наполнялось это зеркало в пределах времени работы программы.
Запастил - заркало чистое, и в процессе оно наполняется, и запись-чтение в первую очередь в него, а потом, когда будут ресурсы, синхронизация с дисковым кешем.
Орера офигенно так работает, по кнопке "Назад" мгновенное перемещение, другие же браузеры тупят...
Сообщить модератору   Записан
Anymore
Beta tester
*****

Репутация: +17/-0
Offline Offline

Сообщений: 339


« Ответ #7 : 09 января 2013, 18:13:06 »

Что-то я пропустил, можно пояснить, какова логика работы RAM кэша?
Сообщить модератору   Записан
antonn
Новичок
*

Репутация: +0/-0
Offline Offline

Сообщений: 7


« Ответ #8 : 09 января 2013, 18:28:05 »

Логику работы лишь автор программы расскажет, с мой точки зрения это файлы наиболее часто доставаемые из кэша на диске (либо запрашиваемые сетью).
Сообщить модератору   Записан
mai62
Автор HC
*****

Репутация: +226/-4
Offline Offline

Сообщений: 6383


« Ответ #9 : 09 января 2013, 19:22:53 »

Цитировать
Зачем тогда делался раздел РАМ кеша в программе если он не работает.
Он работает так, как было задумано.
Цитировать
Логику работы лишь автор программы расскажет
Зачем ждать? Есть же поиск http://handycache.ru/forum/index.php?topic=221.0
Сообщить модератору   Записан
Anymore
Beta tester
*****

Репутация: +17/-0
Offline Offline

Сообщений: 339


« Ответ #10 : 09 января 2013, 20:00:24 »

Зачем ждать? Есть же поиск

Поиск на форуме по запросу RAM кроме этой темы ничего не даёт.
И спросил я больше для того чтобы скорректировать возмущения.
Сообщить модератору   Записан
LordMerlin
Старожил
****

Репутация: +12/-8
Offline Offline

Сообщений: 488


« Ответ #11 : 10 января 2013, 10:28:37 »

Спасибо за ссылку, почитал.
Идеи насчет сохранения и загрузки образа хорошая, тем более что разработчик сказал о возможности асинхронной загрузки. Так может и сохранение можно делать асинхронно например через определенное количество времени заданное пользователем.
А в кеше хранить только самые часто вызываемые файлы за всю историю.
Я думаю что при наличии сохранения и загрузки через какое то время там будет только самое нужное.
Сообщить модератору   Записан
antonn
Новичок
*

Репутация: +0/-0
Offline Offline

Сообщений: 7


« Ответ #12 : 12 января 2013, 12:48:09 »

Цитировать
Мои рассуждения были приблизительно такими:
-размер файла не всегда известен до окончания загрузки файла, а до тех пор неизвестно нужно ли его будет оставлять в памяти; можно, конечно, начинать писать в память все подряд и по ходу дела принимать решение оставлять или нет, но это привело бы к усложнению алгоритма (снижению надежности), лишней нагрузке на память и процессор;
-если файл берется из кэша только один раз, то и выигрыш от использования RAM-кэш будет никакой, стоит ли затеваться (ведь само помещение файла в RAM-кэш тоже не даром дается), чтобы один раз отдать?
- НС (меня) часто упрекают в том, что он жрет много памяти и процессорного времени; поэтому я остерегался чтобы не получилось: хотел как лучше, а получилось как всегда (вместо экономии ресурсов получить перерасход).
- размер файла таки у многих статических файлов известен
- если файл берется один раз - выигрыша нет, если НС висит месяц, а посещаются в основном одни и теже сайты с кучей статики - результат будет
- в 2007 году могли возмущаться, в 2013 году, когда памяти как грязи, а процессоры на порядок шустрее - это все менее актуально. В любом случае чтобы угодить обоим группам можно сделать это настраиваемым.
Сообщить модератору   Записан
Михаил
Gold beta tester
*****

Репутация: +337/-14
Offline Offline

Сообщений: 5513



« Ответ #13 : 12 января 2013, 16:10:18 »

Стабильная польза от кэша НС (в том числе и от RAM-кэша) имеется случае, если собственный кэш клиентов (например, браузера) недостаточен (отключен, мал по размеру, периодически очищается, не кэширует все необходимое и т.п.).
Чем агрессивнее настройки собственных кэшей клиентов, тем меньше работы остается НС и наоборот. В этом смысле между эффективностью кэшей кдиентов и кэша НС существует обратная зависимость.
Это все я к тому, что слабая наполняемость RAM-кэша - не просчет НС, а следствие усердной работы собственных кэшей клиентов. Часть файлов клиент забирает из своего кэша самостоятельно, другую часть - после согласования с НС (когда НС отвечает '304 Not Modified'). Наполняемость кэша следует отграничивать от его востребованности. Если как предложено НС начнет писать каждый ответ сразу в RAM-кэш, то наполняемость RAM-кэша действительно возрастет, но вот востребованность - практически нет. Т.е. RAM-кэш станет заполнен в большинстве своем ненужными файлами.
Если есть желание, проведите эксперимент: полностью отключите собственный кэш клиентов. Наполняемость RAM-кэша должна стремительно пойти в гору. Если так не произойдет, - тогда это действительно тема для беспокойства.

Итого: Эффектом опции (если ее делать) станет существенное увеличение размера RAM-кэша, но при этом практически не увеличится его отдача. Есть ли необходимость?
« Последнее редактирование: 12 января 2013, 16:21:23 от Михаил » Сообщить модератору   Записан
antonn
Новичок
*

Репутация: +0/-0
Offline Offline

Сообщений: 7


« Ответ #14 : 12 января 2013, 20:39:50 »

Не надо каждый запрос кидать в кэш (хотя не вижу ничего такого чтобы мелкие файлы размещать сразу туда), можно, хотя бы на момент работы, вести статистику наиболее часто запрашиваемых файлов и оставлять в ram только часть из них. В любом случае лично я могу позволить выделить "под мусор" гиг-два.

Еще не могу найти - настройка на максимальный размер кэша на диске задается? есть такая опция?

Цитировать
другую часть - после согласования с НС (когда НС отвечает '304 Not Modified').
"согласование" - как-то крутовато звучит Улыбка наверное НС отдает браузеру поток когда запрошенный файл на ресурсе 304, браузер-то и не в курсе этого, прозрачно для него, так ведь?
Сообщить модератору   Записан
Anymore
Beta tester
*****

Репутация: +17/-0
Offline Offline

Сообщений: 339


« Ответ #15 : 12 января 2013, 21:24:04 »

можно, хотя бы на момент работы, вести статистику наиболее часто запрашиваемых файлов и оставлять в ram только часть из них.
Такая статистика не ведётся. Вопрос как это делать лучше всего не решён.

В любом случае лично я могу позволить выделить "под мусор" гиг-два.
Еще не могу найти - настройка на максимальный размер кэша на диске задается? есть такая опция?
Такой опции нет. Мусором на диске занимается расширение Cache cleaner.
Сообщить модератору   Записан
antonn
Новичок
*

Репутация: +0/-0
Offline Offline

Сообщений: 7


« Ответ #16 : 12 января 2013, 22:31:15 »

Цитировать
Такая статистика не ведётся. Вопрос как это делать лучше всего не решён.
Список запрошенных ресурсов, кол-во запросов, время последнего запроса - навскидку. обычный Tlist, с обычным перебором. Если хочется крутотени - hashtable. Нет в этом ничего такого для чего нужно собирать консилиум Улыбка Раскраска грида с логом труднее =)

Цитировать
Такой опции нет. Мусором на диске занимается расширение Cache cleaner.
очень жаль, т.к. редактировать скрипт - не очень юзерфрендли Улыбка я особо не разбирался, но это расширение не занимается тем что лишь удаляет старые файлы?
Сообщить модератору   Записан
Anymore
Beta tester
*****

Репутация: +17/-0
Offline Offline

Сообщений: 339


« Ответ #17 : 12 января 2013, 23:31:28 »

Список запрошенных ресурсов, кол-во запросов, время последнего запроса - навскидку. обычный Tlist, с обычным перебором. Если хочется крутотени - hashtable. Нет в этом ничего такого для чего нужно собирать консилиум Улыбка Раскраска грида с логом труднее =)
Я вижу ты подкованный программер. HC пишет лог доступа на диск, этого достаточно чтобы сделать свой песочник, проанализировать ресурсозатратность и предложить наилучший алгоритм. Могу предложить свой лог за декабрь 270 миллионов запросов в 266 мегабайтах.

очень жаль, т.к. редактировать скрипт - не очень юзерфрендли Улыбка я особо не разбирался, но это расширение не занимается тем что лишь удаляет старые файлы?
Да, он удаляет старые файлы. Если быть точнее, запускает процедуру очистки кэша встроенную в HC.
« Последнее редактирование: 13 января 2013, 00:02:44 от Anymore » Сообщить модератору   Записан
antonn
Новичок
*

Репутация: +0/-0
Offline Offline

Сообщений: 7


« Ответ #18 : 13 января 2013, 00:35:45 »

Цитировать
Могу предложить свой лог за декабрь 270 миллионов запросов в 266 мегабайтах.
выложишь где нибудь? (ну если там нет ничего конфиденциального)

Цитировать
Да, он удаляет старые файлы. Если быть точнее, запускает процедуру очистки кэша встроенную в HC.
это несколько не то, есть же разница "удалить по дате" и "удалить самые старые чтобы дать место для новых". Во втором случае кэш хранит старые файлы если позволяет лимит пространства. А, допустим, в "горячие" месяцы он будет обновляться новыми файлами по возможности сохраняя старые. Разумеется чтобы не дергать лишний раз винт можно сделать кэш в РАМ (отдельный) в который будут складироваться новые файлы, и через некоторое время удалять пачку старых по объему этого кэша и писать его на диск.
Сообщить модератору   Записан
Anymore
Beta tester
*****

Репутация: +17/-0
Offline Offline

Сообщений: 339


« Ответ #19 : 14 января 2013, 17:15:25 »

Ссылка на лог PM, только я тебя обманул, всего чуть больше миллиона запросов и этот лог от другого прокси.

Цитировать
это несколько не то, есть же разница "удалить по дате" и "удалить самые старые чтобы дать место для новых". Во втором случае кэш хранит старые файлы если позволяет лимит пространства. А, допустим, в "горячие" месяцы он будет обновляться новыми файлами по возможности сохраняя старые. Разумеется чтобы не дергать лишний раз винт можно сделать кэш в РАМ (отдельный) в который будут складироваться новые файлы, и через некоторое время удалять пачку старых по объему этого кэша и писать его на диск.

Я понимаю твою борьбу за оптимизацию... Проблемка стоит давно(нет времени искать ссылки)...
Сообщить модератору   Записан
Страниц: [1] 2  Все   Вверх
  Отправить эту тему    Печать  

 
Перейти в: