eBoostr 2.0

Не так давно мы уже рассказывали о новой и очень необычной утилите eBoostr [1]. Необычность этого «ускорителя» системы в том, что он действительно ускоряет работу Windows. И вот вышло обновление программы, в котором учтены многочисленные пожелания пользователей, успевших опробовать её в деле.

Но для начала напомню, что это за программа и в чем её уникальность. Работа eBoostr во многом копирует функцию ReadyBoost из Windows Vista, однако для «Висты» программа не предназначена, её задача — ускорить работу с файлами в старушке Windows XP. Как и в случае с ReadyBoost, повышение производительности достигается за счёт кэширования на флешке небольших файлов, к которым чаще всего происходят обращения системы.

Многих пользователей до сих пор удивляет — как это флешка, подключенная по USB 2.0, может ускорить работу файловой системы? Ведь флешка по определению медленнее винчестера. Конечно, медленнее, но далеко не всегда! В операциях случайного чтения небольших файлов флешка оказывается быстрее даже жёсткого диска SATA аж в несколько раз — ведь ей не приходится тратить время на позиционирование считывающей головки. Если не верите — проведите простейший эксперимент. Скачайте утилиту CrystalDiskMark [2] и на реальной системе, не прекращая своей обычной работы (то есть не отключая закачку в eMule или BitTorrent или просмотр HD-видеофильма) проведите тест случайного чтения блоков по 4 КБ для жёсткого диска и для самой обычной флешки. В моем случае, например, оказалось, что скорость чтения с ноутбучного HDD во время работы eMule  — всего лишь 0,36 МБ/с, а с самой захудалой флешки, которую даже «Виста» отказывается использовать для ReadyBoost — 4,5 МБ/с! На более современных флешках результат будет ещё более впечатляющим. И даже если вы попробуете организовать на домашнем ПК обычный массив RAID-0 из двух 500-гиговых винчестеров, то и в этом случае кэш на флешке при таком режиме чтения окажется в несколько раз быстрее. Так что можете себе представить, какого эффекта можно добиться, если грамотно воспользоваться этой ситуацией. Конечно, в реальности ускорение более скромное  — не все файлы попадают в кэш, да и прочие накладные расходы играют роль, но, тем не менее, предложенная в ReadyBoost идея имеет право на жизнь. Более чем.

Самое же главное — eBoostr имеет целый ряд коренных отличий от ReadyBoost, ставящих её на голову выше «вистовского» компонента. Во-первых, для кэша вы можете использовать и флешки, которые не соответствуют требованиям ReadyBoost — например, те, что просто жаль выкинуть. Эффект будет, конечно, послабее, но будет. Во-вторых, вы можете использовать несколько флешек и даже носители других типов — внешние диски, карты памяти — всего до четырёх устройств одновременно. Утилита умеет особым образом распараллеливать нагрузку при чтении между несколькими устройствами, чтобы получать максимум производительности.

Следующее важное отличие — отказ от шифрования. Хоть это и снижает уровень безопасности (при утере флешки коварный злоумышленник сможет заглянуть в ваши файлы, попавшие в кэш), зато загрузка процессора минимальна, и скорость чтения не страдает. А если программа используется на стационарном компьютере, то шифрование кэша и вовсе смысла не имеет — флешку вы из дома не выносите, она постоянно воткнута в USB-порт, так что потерять её практически невозможно. А если у вас есть зашифрованные папки, то их стоит просто внести в список исключений, чтобы не кэшировались.

И, наконец, утилита снабжена встроенным бенчмарком, который позволяет достаточно объективно и наглядно оценить эффект от её работы. Только оценку проводите сразу после перезагрузки ПК — иначе результаты будут не очень стабильны, поскольку будут во многом зависеть от того, чем занята ваша система и программы. Так что ещё в первой версии eBoostr всё было в шоколаде. Единственное, на что можно было бы посетовать — хоть её авторы и являются нашими соотечественниками, тем не менее, сайт eBoostr до сих пор англоязычный, а для жителей России не предлагается ни скидок (самая продвинутая версия программы стоит 39 $), ни более приемлемых способов оплаты. Но работы как в направлении полной русификации сайта, так и формирования разумных рублёвых цен уже ведутся. Разработчики даже подумывали насчёт того, чтобы продавать утилиту в комплекте с гарантированно быстрыми флешками, но переговоры с их производителями пока, к сожалению, ни к чему не привели.

Но и это ещё не всё. В версии же 2.0 появился целый ряд столь важных нововведений, что я, честно говоря, удивился — как это разработчики разрешили бесплатный апгрейд для тех, кто уже успел купить eBoostr 1.0…

Начнём с того, что явно напрашивалось по опыту использования прошлой версии — теперь в eBoostr есть список исключений (файл C:\Documents and Settings\All Users\Application Data\eboostr\exclude.ini можно бекапить и даже редактировать вручную). Судите сами — зачем кэшировать файлы из папок типа C:\WINDOWS\$hf_mig$, C:\WINDOWS\ServicePackFiles, C:\System Volume Information и так далее? Ясно же, что во время обычной работы за компьютером доступ к ним практически никогда не происходит. Разве что антивирус раз в неделю просканирует. Так что флешку теперь можно использовать гораздо более эффективно, в том числе и отключая кэширование файлов, расположенных на логических дисках, отведённых под всевозможные архивы и старые документы.

Следующее важное нововведение — кэш в оперативной памяти. Причём это не дублирование стандартного дискового кэша Windows, который присутствует в ОС с незапамятных времен. Это почти аналог функции SuperFetch из Windows Vista! То есть для часто используемых файлов теперь предусмотрена автоматическая упреждающая загрузка в ОЗУ — а это уже на порядок быстрее, чем кэш на флешке. Но, разумеется, к этой фиче надо подходить с умом — если у вас меньше 1 ГБ памяти, то эффект даже от выделения 100-200 МБ под кэш может оказаться скорее отрицательным. А вот при наличии 2-3 ГБ (которые Windows XP практически никогда не загружает целиком) вполне можно потратить 300-500 МБ из них для кэширования. Наилучший баланс, впрочем, достигается путем экспериментов (откройте Панель задач (Task Manager) и на странице «Быстродействие» (Performance) в разделе «Физическая память» (Physical memory) посмотрите, сколько у вас всего памяти, сколько свободной, и сколько расходуется под системный кэш — если свободной памяти обычно много, она пропадает совершенно зря), в том числе и с использованием встроенного бенчмарка.

И, наконец, третья эпохальная «фича» (хотя уже по первым двум видно, что ReadyBoost рядом не валялась) — режим экономии батарей. Теперь, если ваш ноутбук (а утилита наиболее полезна именно для мобильных пользователей) переключается на работу от батареи, eBoostr автоматически переходит в Power Save Mode. В этом режиме отключается автоматическая перестройка кэша (при обычной работе системы eBoostr регулярно, во время простоя, обновляет кэш, дабы в нём оказывались наиболее актуальные файлы), а при обращении к файлам все запросы перенаправляются в первую очередь на флешку, что снижает нагрузку на HDD. Возможно, с точки зрения производительности такой режим и не оптимален (распараллеливания не происходит), зато энергопотребление снижается заметно.

Есть в eBoostr 2.0 и другие, менее заметные улучшения — появилась поддержка кэша объёмом более 4 ГБ, одну и ту же флешку теперь можно использовать на разных ПК, число файлов в кэше более не ограничивается, для оптимизации кэширования используются данные префетчинга самой Windows, произведены и другие оптимизации работы кэша. Словом, радости полные штаны.

Однако в новой версии программы меня поначалу сильно удивила такая картина в окне программы: индикатор «Общий процент из кэша» теперь почти всегда показывает близкое к 100% значение, во что поначалу верилось с трудом. В прошлой версии этот индикатор вёл себя поскромнее. Вот что ответил нам по этому поводу один из авторов программы, Андрей Заруднев: «Процент попаданий, близкий к 100% — это правда, хотя в эту цифру и не верится. Объясню почему. Те файлы, которые попадают в RAM-кэш, блокируются от кэширования Windows (чтобы избежать двойного расхода памяти). Файлы, кэшированные на флэшке, Windows тоже кэширует в памяти (system cache), поэтому последующие чтения до диска не доходили (и соответственно до нас). Теперь же любой запрос файла доходит до драйвера eBoostr и отдаётся из памяти. Счётчик попаданий тикает и получается бОльшее значение. Если RAM-кэш не используется, то всё работает как раньше.»

И, в заключение, можно поразмышлять на тему того, чего не хватает программе. Раз уж появился список исключений, то хорошо бы развить эту идею и внедрить ещё и приоритетный список. Например, я бы не отказался от того, чтобы файлы из папок MS Office всегда подгружались прямо в кэш в ОЗУ. Всё остальное для меня уже не так важно — пусть будет на флешке. Кстати, обратите внимание — Cache Viewer может показывать, что находится на флешке, а что — в ОЗУ. Просто выделите в основном окне программы нужное устройство, и вы узнаете, что оказалось в самом быстром кэше. Возможно, был бы смысл в ещё более полной имитации SuperFetch — например, если я днём чаше всего использую Office, а вечером — KMPlayer, то и в ОЗУ они должны оказываться с соответствии с таким же графиком.

Разумеется, будучи в контакте с разработчиками eBoostr, я не поленился предложить им эти идеи. И оказалось, что списки исключений/приоритетов обязательно появятся в последующих версиях программы, а вот анализ использования файлов по времени (как в SuperFetch) пока под вопросом: скорее всего, его всё же не будут делать.

Впрочем, как бы ни была уже сейчас хороша программа, и как бы идеальна ни стала в будущем — боюсь, дни её всё же сочтены. C «Вистой» Windows XP ещё борется, а вот Windows 7 [3], похоже, уже не переживет… Так что всем пользователям Windows XP предлагаю поторопиться использовать свою ОС по максимуму.




Темы