Ru-Board.club
← Вернуться в раздел «Программы»

» HandyCache ( Часть III )

Автор: mai62
Дата сообщения: 06.08.2006 16:16
hpoint

Цитата:
Видимо я не совсем понимаю зачем в HC сейчас 2 кэша и как они работают, работают ли в паре и могут ли обмениваться друг с другом.

Если файл не найден в основном кэше и задан кэш только для чтения, то файл ищется еще и в этом втором кэше. Новые файлы пишутся только в основной кэш.
Автор: forever
Дата сообщения: 06.08.2006 16:30
mai62

Цитата:
Нечто подобное можно сейчас реализовать. Кэш на железном диске сделать только для чтения, а основной на RAM-диске.

Это половинчатое решение. Ведь все новое в кэш не попадет. Точнее попадет, да не в тот.

Для начала стОит определиться, а нужно ли это? Вообще это уже "зона ответственности" браузера, а не прокси.
Автор: hpoint
Дата сообщения: 06.08.2006 16:41
Понятно, mai62, спасибо.
Как в песне поется... "Пусть не решит он (RAM-кэш) всех пробем, не решит...всех проблем, но будет радостнее всем...", когда появится такая фича в полном функционале.;)
Тогда HC будет еще шустрее. Только надо решить вопрос об обмене данными между кэшами. Вот тут, наверное, и придется вычислять оставшееся место на RAM-кэше и если его будет недостаточно, или произойдет переполнение RAM-кэша, то тогда наиболее старые данные должны будут опрокинуться в жесткий кэш.
Автор: forever
Дата сообщения: 06.08.2006 16:48
hpoint

Цитата:
Тогда HC будет еще шустрее.

Вряд ли. Куда еще то?

Что хранить в этом RAM-кэше? Ясен пень, последние запрошенные данные. А нафига их хранить, если это должен делать (и делает) браузер?

Автор: hpoint
Дата сообщения: 06.08.2006 16:58
forever,
Ну кэш браузера IE почти 0-вой (почти ), можно считать, что его и нет, а вот скорость доступа к относительно медленному кэшу на жестком диске несравненно медленнее, чем RAM-кэшу. Именно поэтому, общая производительность HC должна возрасти.


Добавлено:
Вот я щас сделал себе RAM-кэш. Машина практически работает как в автономе. Легкий сигнал на модем и вуаля - страничка в кармане, т.е на экране. Никакого шуршания диском, ничего, а только удовольствие от пользования HC.
Автор: unreal666
Дата сообщения: 06.08.2006 17:05
arsvrn

Цитата:
Да, очень нужен! Выложи его куда-нибудь, пожалуйста.
Кстати, если не секрет, где ты его взял? На оффсайте вроде бы нету...
Или сам декомпилил из явы и делал ехе-шник?

С помощью проги Excelsior JET скопилировал jar-файл в exe-шник и добавил иконку с их сайта.
P.S.
Ссылку удалил, т.к. оказывается этим скомпилинным прогам нужны библиотки JET (а их дофига).
Почитаю руководство этой проги и что-нибудт замучу.[413 kb]
Автор: and3636
Дата сообщения: 06.08.2006 17:13

Цитата:
если это должен делать (и делает) браузер?

Браузер это делает по своему алгоритму.А алгоритм работы HC даст нам полную уверенность в правильной обработке.Смысл держать горячие данные в оперативной памяти есть огромный.Когда на загружаемой странице больше сотни мелких дублирующих друг друга картинок то начинается конфликт за доступ к диску , т.е на это время становится вся система.Даже тогда когда кеш находится на самой быстрой части винта.
Если эта идея будет реализовываться то просьба верхний размер кеша сделать настраиваимой.
Автор: unreal666
Дата сообщения: 06.08.2006 17:17
and3636

Цитата:
Если эта идея будет реализовываться то просьба верхний размер кеша сделать настраиваимой.

Об этом уже писалось. Чтобы определить размер кэша, нужно через какие-то промеутки времени пересчитывать размер всей папки кэша. Что занимает ресурсы компа.
Да и что делать, если размер кэша подошел к лимиту?

Добавлено:
NothingAnother

Цитата:
Но в область памяти какого именно процесса - ведь запущены несколько экземпляров HC?

В исходниках я вообще не нашел упоминания какого-либо процесса. Наверно HCCmd передает команду в те процессы, которые могут ее воспринять.

Надо у mai62 узнать.
Автор: and3636
Дата сообщения: 06.08.2006 17:30
unreal666
Идея тут проста-в ram в фоновом режиме подгружаются все мелкие имиджи из папки запрашиваемого домена.Если их там нет то в ram должен об этом быть какой то флаг,чтобы
не лезть на винт с проверкой.

Цитата:
размер кэша подошел к лимиту

Автоматом удалять самые ранние данные.
Автор: hpoint
Дата сообщения: 06.08.2006 17:33
unreal666

Цитата:
Что занимает ресурсы компа
Ранее проводились эксперименты с забиванием тысяч позиций в ЧС, насколько я помню, производительность заметно не падала. А ЧС всегда в работе. Поэтому, ИМХО, если не вычислять оставшееся свободное место, а обрабатывать исключительную ситуацию "Ошибка переполнения диска" и в этот момент опрокидывать "старые" данные RAM-кэша, то мы не только выиграем в производительности на этой операции, но и на прочих операциях, тем самым только снизим общую нагрузку на машину.


Добавлено:
unreal666


Автор: unreal666
Дата сообщения: 06.08.2006 17:43
hpoint

Цитата:
а обрабатывать исключительную ситуацию "Ошибка переполнения диска"

А если у меня на том диске еще другие проги, которым тоже нужно место? Ждать пока будет переполнение? Это перебор.
Лучше с каким-то промежутком по времени контролировать размер кэша с помощью nnCron'а. А если идет отдельный логический диск под кэш, на котором еще стоят другие проги (но их кол-во не увеличиваетс), как это сделано у меня (у меня на отдельном диске находятся кэш HC и Apache с сайтами), то можно просто проверять свободный объем диска.
Автор: hpoint
Дата сообщения: 06.08.2006 17:51
unreal666

Цитата:
А если у меня на том диске еще другие проги
Мы говорим о RAM-диске, а не о HDD.


Добавлено:
unreal666
C тунелем можно что нибудь сделать? Может какого либо рантайма не хватает?
Автор: unreal666
Дата сообщения: 06.08.2006 18:01
and3636

Цитата:
Идея тут проста-в ram в фоновом режиме подгружаются все мелкие имиджи из папки запрашиваемого домена.

Тогда надо реализовывать так.
- RAM-кэш пустой (чтение), HDD-кэш чем-то забит (чтение/запись).
- Идет запрос на какой-то домен
- Идет чтение из HDD-кэша, подсчет размера папки этого домена в этом кэше. Если папка занимает место больше свободного объема RAM-кэша, то очистить RAM-кэш.
- Подгрузка всего домена в RAM-кэш.
- При срабатывании списка "Запись в кэш" писать в HDD-кэш с одновременным копированием в RAM-кэш. Но тоже нужна проверка свободного объема.

Кстати у многих сайтов многие встроенные объекты (картинки, флэш и т.п.) находятся в другом домене. Как например на этом форуме.
Автор: and3636
Дата сообщения: 06.08.2006 18:25
unreal666

Цитата:
Подгрузка всего домена в RAM-кэш.

Мне кажется грузит весь домен это перебор.Все тормоза происходят от загрузки графики.У меня в кеше папка i.ru-board.com весит 1,07 МБ. В папке forum.ru-board.com графики на 400 кб(вся 153 МБ).Наверно нужно просто догружать всю мелкую графику из папки к которой идёт запрос.

Кому сколько выделять под кеш каждый решает сам.
У меня спокойно можно занять до 250-300 мб.
Автор: forever
Дата сообщения: 06.08.2006 18:30
hpoint

Цитата:
Ну кэш браузера IE почти 0-вой (почти ), можно считать, что его и нет

У Оперы есть кэш в RAM'е. Есть или нет это в ослике - понятия не имею.


Цитата:
скорость доступа к относительно медленному кэшу на жестком диске несравненно медленнее, чем RAM-кэшу. Именно поэтому, общая производительность HC должна возрасти.

В кэше браузера и в кэше HC одни и те же файлы. Браузер даже не обратится к НС - он возьмет свое у себя. В том числе и IE. Дык смысл держать в памяти данные которые не будут запрашиваться?

and3636

Цитата:
Браузер это делает по своему алгоритму.А алгоритм работы HC даст нам полную уверенность в правильной обработке.

Алгоритм браузера "главнее". Если браузер берет что-то в своем кэше, запроса к НС на это "что-то" не будет вообще.


Цитата:
Когда на загружаемой странице больше сотни мелких дублирующих друг друга картинок то начинается конфликт за доступ к диску

Это в каком же браузере сто дублей грузится сто раз вместо одного? Или ты просто про сто разных картинок?
В любом случае, попытки заранее что-то подгрузить ни к чему - ясновидение пока дает серьезные сбои. Держать в RAM'е последние данные - можно, но то же сделает и браузер. Данные окажутся невостребованы.


Цитата:
Идея тут проста-в ram в фоновом режиме подгружаются все мелкие имиджи из папки запрашиваемого домена.

Т.е. вдобавок к текущим запросам мы нагрузим HDD еще больше: всеми "мелкими имиджами из папки запрашиваемого домена". У меня, например, в кэше nnm.ru сейчас весит 40М - все грузить или таки есть алгоритм ясновидения, что именно понадобится?
Автор: unreal666
Дата сообщения: 06.08.2006 18:31
hpoint

Цитата:
C тунелем можно что нибудь сделать? Может какого либо рантайма не хватает?

Сейчас только посмотрел. Оказывается ему нужно дофига библиотек из этого пакета JET. Значит пока от него толку не будет. Надо почитать как переносить эти exe-шники в руководстве. Ссылку на него удаляю.

Добавлено:
mai62

В твоем списке зажач много чего мелкого, но важного нет.
Автор: and3636
Дата сообщения: 06.08.2006 18:51
forever

Цитата:
Это в каком же браузере сто дублей грузится сто раз вместо одного? Или ты просто про сто разных картинок?

Тут не браузер виноват.Тут ресурсы поедает сабж.А именно его запросы к диску.Независимо есть там искомое или его там нет.И возможно второе даже больше проблем несёт,т.к число одновременных запросов больше.
Автор: NothingAnother
Дата сообщения: 06.08.2006 19:01
forever
Цитата:
В кэше браузера и в кэше HC одни и те же файлы. Браузер даже не обратится к НС - он возьмет свое у себя
В общем случае, это не так - в зависимости от команд, содержащихся в заголовках запросов и в самом HTML, браузер может даже только что закэшированные данные при следующем обращении к ним снова потянуть из сети. Но у нас есть HC - подсунет данные из своего кэша (в соответствии с установленными правилами)
Автор: and3636
Дата сообщения: 06.08.2006 19:01
forever

Цитата:
У меня, например, в кэше nnm.ru сейчас весит 40М

и сколько из этого графическое оформление?
Грузить весь домен нет смысла.

Цитата:
В любом случае, попытки заранее что-то подгрузить ни к чему - ясновидение пока дает серьезные сбои.


Чтобы понять что после загрузки nnm.ru будет запрошена графика с него ясновидение излишняя роскош.
Автор: forever
Дата сообщения: 06.08.2006 19:06
and3636

Цитата:
Тут не браузер виноват.Тут ресурсы поедает сабж.
...
т.к число одновременных запросов больше.

Браузер послал запрос - НС ищет.


Цитата:
А именно его запросы к диску.Независимо есть там искомое или его там нет.

Это же не поиск файла по имени во всем кэше. Из URL известен точный путь его метонахождения - все очень быстро. Единственное что приходит на ум для ускорения процесса: индексный файл который и держать в памяти - без обращения к диску известно что там есть, что нет.
Автор: and3636
Дата сообщения: 06.08.2006 19:12

Цитата:
Единственное что приходит на ум для ускорения процесса:

Ещё вариант- ограничитель скорости обмена между браузером и HC.
Автор: forever
Дата сообщения: 06.08.2006 19:13
NothingAnother

Цитата:
В общем случае, это не так - в зависимости от команд, содержащихся в заголовках запросов и в самом HTML, браузер может даже только что закэшированные данные при следующем обращении к ним снова потянуть из сети.

Может. И правильно сделает, что потянет. На примере того же руборда: страница обновляется (и правильно), все остальное (css, js, графика) - из кэша браузера.

and3636

Цитата:
и сколько из этого графическое оформление?

Как ты наверное догадываешься, >90% из 40М - это и есть графика. Любят на nnm жирные картинки.


Цитата:
Грузить весь домен нет смысла.

Совершенно верно. Как предлагаешь определять что же именно грузить, а что нет?

Добавлено:
and3636

Цитата:
Чтобы понять что после загрузки nnm.ru будет запрошена графика с него ясновидение излишняя роскош.

Не роскошь, а жестокая необходимость (где б тока ей разжиться?): на nnm на каждой странице куча графики - как предугадать на какую страницу я сейчас отправлюсь?
Автор: and3636
Дата сообщения: 06.08.2006 19:18

Цитата:
Как ты наверное догадываешься, >90% из 40М - это и есть графика. Любят на nnm жирные картинки.


Цитата:Грузить весь домен нет смысла.

Совершенно верно. Как предлагаешь определять что же именно грузить, а что нет?

Уже несколько раз писал-это мелкая графика,а она жирной не бывает.Зато она многочисленна.

Добавлено:

Цитата:
как предугадать на какую страницу я сейчас отправлюсь

Это лишнее,там точно будет тоже оформление.

И кто говорит что нужно предсказание что будет грузиться?Речь идёт о том что однажды зайдя на нужный сайт, в большинстве случаев следует переход на другую страницу с этим же оформлением.А так как тут у сабжа сейчас узкое место предлагается повторить архитектуру обычного процессора с его уровнями кеширования.
Автор: NothingAnother
Дата сообщения: 06.08.2006 19:36
forever
Цитата:
И правильно сделает, что потянет
Где-то правильно, а где-то нет (в зависимости от прихоти сайтописателей, руборд здесь не ориентир)... В том и прелесть HC, что делает этот процесс управляемым по тобой, а не кем-то установленным правилам
Автор: forever
Дата сообщения: 06.08.2006 19:40
and3636

Цитата:
Уже несколько раз писал-это мелкая графика,а она жирной не бывает.Зато она многочисленна.

Ну, картинки по 40-80К я бы не назвал мелкой графикой. Попадаются и по 150-200К (к счастью редко).


Цитата:
Это лишнее,там точно будет тоже оформление.

Я не ошибусь предположив, что ты никогда не был на nnm? Оформление, конечно будет на каждой странице, но кроме этого на каждой странице свои тяжелые картинки и именно они создают основной объем.


Цитата:
в большинстве случаев следует переход на другую страницу с этим же оформлением.

Как объяснить НС, что на текущей странице оформление, а что картики присущие только этой странице? Да и зачем? То что было оформлением на текущей странице и повторится на следующей возьмется из кэша браузера.

Добавлено:
NothingAnother

Цитата:
Где-то правильно, а где-то нет (в зависимости от прихоти сайтописателей, руборд здесь не ориентир)... В том и прелесть HC, что делает этот процесс управляемым по тобой, а не кем-то установленным правилам

Да, бывает, что запрещают кэшировать и статичные страницы. Склонен назвать это скорее исключением, чем правилом.
Автор: and3636
Дата сообщения: 06.08.2006 19:54

Цитата:
Я не ошибусь предположив, что ты никогда не был на nnm?

Точно.Заблокирован по самые..
Повторюсь насчет устройства ram-диска-всё уже придумали до нас.Архитектура процессора- вот то что нужно построить.
Автор: unreal666
Дата сообщения: 06.08.2006 20:11
Блин. Сейчас создал инстал-пакет для toonel.net. Получился размером 15,5 Мегов.
Дофига. Смысл от exe-шника только в его скорости запуска и работы.
Автор: NothingAnother
Дата сообщения: 06.08.2006 20:12
unreal666 to mai62
Цитата:
В твоем списке зажач много чего мелкого, но важного нет
Полностью согласен - в основном фантики... Не надо глубоко копать по ветке, в непосредственной близости поднимались более-менее концептуальные вопросы - разработка API, пригодного для плагинной архитектуры, реализация SOCKS или PortForwarding, предоставление юзеру возможности свободного управления хеадерами, режим работы native service, и т.д.
Есть предложение - помочь уважаемому автору путём некоторой систематизации ToDo. Мне это видится так: на руборде (посредством скриптов для голосования, создания эхи, или ещё как - возможности надо спросить у модеров. Или TurboMent поможет - хостер mai62) создаётся очередь, в которую заносятся все конкретные пожелания заинтересованных лиц. Некий модер (требование - регулярное и длительное присутствие онлайн), уполномоченный mai62, отсеивает только абсолютно абсурдные из них с обоснованием отказа. Затем mai62 в зависимости от сложности, важности, злободневности, эффективности, а, главное - собственного интереса присваивает этому запросу приоритет по балльной шкале (или отказывает) и он вносится в ToDo. Формируется динамический список, из которого будет видно (по баллам) чего ждать в следующем билде, а что будет оседать на дно, накапливаясь для упоминавшейся mai62 второй (а там и третьей...) версии HC. Если mai62 это нужно в принципе (прошу ответить), предлагаю всем высказываться по усовершенствованию и конкретной реализации предлагаемой схемы
Автор: Denis_74
Дата сообщения: 07.08.2006 00:54
Еще заметил на http://forum.mozilla-russia.org/ у меня много чего качается заново хотя это не изменилось(Last-Modified вообще очень давно), особенно это касается CSS и смаилов, оформление в меньшей степени.
Может кто проверить.

Добавлено:
Хм... а если снять критерии свежести то все ок, по каком принципу он работает и пример записи можно, стаяло 10мин. обновлял тутже а они грузились.
Автор: DenZzz
Дата сообщения: 07.08.2006 02:09
Denis_74

Цитата:
а если снять критерии свежести то все ок, по каком принципу он работает

Читай FAQ в шапке.

И еще, в НС нельзя настроить часовой пояс (GMT+3), поэтому корректно If-Modified-Since будет работать только в Москве зимой или в Минске летом...

Страницы: 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667

Предыдущая тема: Internet Download Accelerator


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.