С cmd лучше сильно не мудрить (не использовать собственные циклы и push/pop в cmd.exe), т.к. по опыту использования штатного purge.cmd с E3 можно отметить крайнюю прожорливость cmd.exe в этих операциях. При сотнях тысяч файлов он поедал всю память и тормозил сервер. А сам по себе Epurger очень скромен и эффективен. Вот только что на своём тестовом ПК запустил, за три минуты получил в подарок 7 гиг:
<30>Log started: Tue, 18 Jan 2011 10:24:31 +0200
- CommandLine: F:\E4\ext\eachfile.exe -purge -e -r -c -d 10 -dir DATA\cache -size
- total deleted files: 24,799 (7,368,779,479 bytes)
- total deleted folders: 18,880
- scan: total stayed folders: 2,979
- scan: total stayed files: 5,454
- scan: total stayed size: 336,882,767
<30>Log stoped: Tue, 18 Jan 2011 10:27:25 +0200
А вот вопрос: может, вместо того, чтобы тереть кеш каждую ночь, разумнее сразу управлять его размерами? Есть в EProxy механизм ротации кеша и ограничение его размера на диске?
Можно. Попробуйте с версией http://www.eserv.ru/download/acWEB4_2011-02-05.rar, там для Generic-заданий планировщика добавлена трассировка запуска. Путь надо указывать либо полный, либо относительно каталога acWEB, т.е. например ..\ext\eachfile.exe...
Да ничего особенного, просто в сквиде, помниться, манипулирование кешем вообще не напрягало — задал один раз размер и тип ротации (чаще всего дефолтный оставлял), и забыл. Для кеша на 100 машин двух гигов хватало за глаза и за уши.
Потому и спрашиваю — не планируется расширять EProxy в этом направлении? И, если нет — то стоит хотя-бы добавить пуржинг кеша в стандартный конфиг, я вот, например, только благодаря этому посту полез смотреть, что у меня с кешем творится, и обнаружил аж 20 гигов барахла. Винт-то на серваке не резиновый.
shajtan пишет: Да ничего особенного, просто в сквиде, помниться, манипулирование кешем вообще не напрягало
Помнится у сквида с наработанным кэшем перезапуск занимал минут 10 (на линуксе) — читал/строил индекс или что он там делал. А в Eproxy потратьте один раз 2 минуты на задание CachePurger и забудьте об этом навсегда (ну или до Eproxy/5 .
shajtan пишет: Для кеша на 100 машин двух гигов хватало за глаза и за уши.
Eproxy обходится меньшим размером, и тоже хватает. Хотя на мой взгляд смысл и "КПД" кэша все эти годы снижается — попадание в кэш меньше 10%, очень уж большим и динамичным стал интернет. Если контора сидит на скоростной безлимитке (доля таких растёт), то все чаще будет ситуация, когда повторное скачивание файла с сервера окажется быстрее считывания файла с локального диска — просто потому что на исходном сервере этот файл часто запрашивается и сидит в файловом кэше в памяти, а в локальной файловой системе он закопан в толстом диске и дёргается раз в день, задействуя на n*12ms на одну только операцию открытия файла, и это в конкуренции с сотней параллельных таких же операций (независимо от того, хранится ли индекс кэша в памяти (by proxy) и насколько [вторично] кэширован в памяти индекс файловой системы (by OS)).
shajtan пишет: обнаружил аж 20 гигов барахла. Винт-то на серваке не резиновый.
Т.е. занять ВСЮ память процесса под индекс кэша (в вашем примере со сквидом) вам не жалко, а занять 1-2% диска — жалко? По-моему, диски пока все же более резиновые, чем память.
Ну, справедливости ради — сквид у меня с индексом кеша в памяти на 64 метра и размером кеш-папок в два гига летал на 800 пне, и перезапускался за полминуты. А насчёт дисков — SAS-диски быстры, но малы, 80 гигов — вполне актуальный вариант, а для серваков типа БД или почтарей используются весьма лихо. Сами понимаете, обнаружить вдруг, что для пользовательских данных банально нету места, потому что всё занято времянкой и кешами — очень сюрпризно.
Я бы всё-таки посоветовал подумать о пользователях и рассмотреть варианты автоматического пуржинга без дополнительных манипуляций со скриптами. Всё равно рано или поздно все начинают использовать epurger — так включите его в стандартную поставку и дайте ему место в web-консоли управления, с галками "чистить временные файлы" и "чистить кеш прокси".
shajtan пишет: Ну, справедливости ради — сквид у меня с индексом кеша в памяти на 64 метра и размером кеш-папок в два гига летал на 800 пне
Ну, в былые времена E2 на еще более древнем пне на NT4 с 64М памяти (не на кэш, а всего на машине) обслуживал в качестве прокси весь Калининград, когда сквид однажды поломался
А можно получить образец для Eserv/4?
Там и в конце странички http://www.eserv.ru/Epurger есть примеры.
С cmd лучше сильно не мудрить (не использовать собственные циклы и push/pop в cmd.exe), т.к. по опыту использования штатного purge.cmd с E3 можно отметить крайнюю прожорливость cmd.exe в этих операциях. При сотнях тысяч файлов он поедал всю память и тормозил сервер. А сам по себе Epurger очень скромен и эффективен. Вот только что на своём тестовом ПК запустил, за три минуты получил в подарок 7 гиг:
Потому и спрашиваю — не планируется расширять EProxy в этом направлении? И, если нет — то стоит хотя-бы добавить пуржинг кеша в стандартный конфиг, я вот, например, только благодаря этому посту полез смотреть, что у меня с кешем творится, и обнаружил аж 20 гигов барахла. Винт-то на серваке не резиновый.
Помнится у сквида с наработанным кэшем перезапуск занимал минут 10 (на линуксе) — читал/строил индекс или что он там делал. А в Eproxy потратьте один раз 2 минуты на задание CachePurger и забудьте об этом навсегда (ну или до Eproxy/5 .
Eproxy обходится меньшим размером, и тоже хватает. Хотя на мой взгляд смысл и "КПД" кэша все эти годы снижается — попадание в кэш меньше 10%, очень уж большим и динамичным стал интернет. Если контора сидит на скоростной безлимитке (доля таких растёт), то все чаще будет ситуация, когда повторное скачивание файла с сервера окажется быстрее считывания файла с локального диска — просто потому что на исходном сервере этот файл часто запрашивается и сидит в файловом кэше в памяти, а в локальной файловой системе он закопан в толстом диске и дёргается раз в день, задействуя на n*12ms на одну только операцию открытия файла, и это в конкуренции с сотней параллельных таких же операций (независимо от того, хранится ли индекс кэша в памяти (by proxy) и насколько [вторично] кэширован в памяти индекс файловой системы (by OS)).
Т.е. занять ВСЮ память процесса под индекс кэша (в вашем примере со сквидом) вам не жалко, а занять 1-2% диска — жалко? По-моему, диски пока все же более резиновые, чем память.
Я бы всё-таки посоветовал подумать о пользователях и рассмотреть варианты автоматического пуржинга без дополнительных манипуляций со скриптами. Всё равно рано или поздно все начинают использовать epurger — так включите его в стандартную поставку и дайте ему место в web-консоли управления, с галками "чистить временные файлы" и "чистить кеш прокси".
Ну, в былые времена E2 на еще более древнем пне на NT4 с 64М памяти (не на кэш, а всего на машине) обслуживал в качестве прокси весь Калининград, когда сквид однажды поломался
Даже интересно стало, а может и правда без кэша быстрее будет..
А как вообще в Е4 отключить кэш? ручек-то, как в Е3, больше нет
Скажем для эксперемента.