Сигналы памяти и хранилища в профилях
Защищайте приватность, согласуя квоту хранилища, лимит кучи JavaScript и память устройства с активным профилем на разных хостах.
Нужна поддерживаемая продуктовая документация?
У этой статьи есть соответствующая страница в центре документации. Используйте docs для каноничного сценария настройки, актуальных флагов и долгосрочной справки.
Веб-приложениям нужна информация о ресурсах для больших документов, мультимедиа и длительных задач. Часть этих данных также описывает хост-машину. Емкость хранилища и класс памяти могут способствовать сопоставлению сессий, если они не согласованы с остальным профилем.
BotBrowser управляет через профиль тремя семействами ресурсов: квотой хранилища, лимитом кучи JavaScript и памятью устройства. Цель состоит в согласованной идентичности браузера на поддерживаемых хостах, а не в наборе несвязанных фиксированных значений.
Это важно для серверных парков. Профиль может работать на рабочей станции, виртуальной машине или в контейнере, представляя одно семейство устройств. Политика профиля не позволяет распределению ресурсов хоста автоматически становиться идентичностью браузера.
Почему ресурсы влияют на приватность
Идентичность браузера состоит из связанных свойств. Платформа, семейство браузера, экран, процессор, память и хранилище должны вместе описывать правдоподобное устройство. Если одно свойство отражает сервер, а остальные следуют профилю, несогласованность может упростить сопоставление сессий.
Значения могут меняться и при переносе нагрузки. Задача, которая сегодня работает в небольшом контейнере, а завтра на крупной станции, не должна показывать изменение инфраструктуры, если активен тот же профиль.
Согласованность полезнее универсального значения. Мобильный профиль и профиль рабочей станции не должны показывать один класс ресурсов только потому, что используют общий сервер. Значения должны следовать семейству профиля и оставаться стабильными в ожидаемом жизненном цикле.
Три управляемых семейства
Квота хранилища
Квота описывает бюджет хранилища, которым браузер управляет для веб-контента. Если она полностью зависит от машины, значение может отражать характеристики диска хоста.
В режиме профиля BotBrowser предоставляет квоту, согласованную с активным профилем, а не с диском хоста. Сессия сохраняет одну идентичность ресурсов при переносе между поддерживаемыми системами.
Лимит кучи JavaScript
Лимит кучи описывает бюджет памяти среды JavaScript. Он должен соответствовать классу устройства профиля. Легкий мобильный профиль и настольный профиль с большим объемом памяти естественно относятся к разным классам.
BotBrowser применяет политику профиля к новым сессиям и контекстам. Момент жизненного цикла важен, поскольку лимит должен быть установлен при создании среды выполнения.
Память устройства
Память устройства представляет общий класс памяти. BotBrowser согласует ее с активным профилем, чтобы класс устройства и политика среды выполнения не противоречили друг другу.
Эти три значения образуют одно описание ресурсов. Совместная проверка не позволяет профилю показывать устройство с малой памятью вместе с намного большим бюджетом среды или несвязанным классом хранилища.
Политики профиля, хоста и явных значений
Поведение на основе профиля является обычным выбором для повторяемой проверки приватности. Профиль остается источником предполагаемой идентичности даже при смене рабочего узла.
Некоторые авторизованные задачи должны следовать реальным ресурсам хоста. Такой режим подходит, когда объектом теста является сам хост или когда проверка емкости приложения должна отражать рабочий узел. Его выбирают явно, поскольку перенос одного профиля может изменить результат.
Явная политика может использоваться в контролируемом тесте совместимости, где известный класс ресурсов входит в план. Документируйте ее как тестовую конфигурацию, а не как отдельное значение вне остального профиля.
Документация квоты хранилища содержит поддерживаемые варианты и правила жизненного цикла.
Область политики
Документированные средства BotBrowser охватывают квоту хранилища, лимит кучи JavaScript и память устройства. Эти три семейства следует проверять как одну группу профиля.
Системы данных источника сохраняют обычную семантику браузера. Базы данных приложения, содержимое кэшей и постоянное хранение не равны этим трем элементам управления. Тестируйте функции приложения как обычное поведение продукта и не предполагайте, что одна настройка ресурсов меняет все подсистемы хранения.
Эта граница упрощает диагностику. Несогласованная квота относится к проверке ресурсов профиля. Отсутствующие данные приложения или проблема кэша относятся к жизненному циклу хранения сайта. Разделение вопросов предотвращает неточное расширение возможностей профиля.
Согласованность между хостами
Общий парк часто содержит машины с разным распределением ресурсов. Режим профиля дает этим рабочим узлам общую идентичность ресурсов для одного семейства профилей.
Он поддерживает несколько моделей:
- Профиль может перемещаться между Windows, macOS и Linux, не перенимая класс ресурсов каждого хоста.
- Узел без графического интерфейса может сохранять предполагаемую идентичность сессии с интерфейсом.
- Новый контекст получает политику кучи при создании среды выполнения.
- Многоконтекстный рабочий узел может согласовать каждый контекст с назначенным профилем.
Согласованность между хостами не означает одинаковые значения для всех профилей. Она означает, что источником остается выбранный профиль, а не текущий рабочий узел.
Практические варианты развертывания
Постоянные профили
Постоянный профиль должен сохранять стабильную политику в своем жизненном цикле. Проверьте ее перед переносом на другой класс рабочего узла, особенно если прежнее развертывание намеренно следовало ресурсам хоста.
Одноразовые тестовые контексты
Короткие проверки выигрывают от режима профиля, поскольку новый рабочий узел не меняет ожидаемую идентичность. Создайте новый контекст после изменения политики кучи.
Проверки емкости и совместимости
Когда тест намеренно измеряет емкость хоста, документируйте этот выбор отдельно от проверки приватности. Один результат не подтверждает обе цели, поскольку первая следует рабочему узлу, а вторая профилю.
Смешанные семейства устройств
Парк мобильных и настольных профилей должен проверять каждое семейство отдельно. Повторное использование одной настройки может создать несогласованность, даже если само значение выглядит правдоподобно.
Защитная проверка
Начинайте с конфигурации и результата приложения, без сценария сбора данных на странице.
- Подтвердите ожидаемую для задачи политику ресурсов.
- Подтвердите активность нужного профиля до запуска сессии или контекста.
- Проверяйте квоту, кучу JavaScript и память устройства вместе.
- Выполните авторизованный процесс и наблюдайте функциональное поведение при ограничениях.
- Повторите на другом поддерживаемом хосте, если выпуск требует межхостовой согласованности.
- Запишите семейство профиля, режим, класс хоста и результат приложения.
В многоконтекстном режиме проверяйте каждый контекст после создания. Корректная конфигурация процесса не доказывает, что последующие контексты получили нужные параметры жизненного цикла.
В режиме профиля ожидаемый результат определяется профилем, а не реальным хостом. Режим хоста служит другой цели и должен быть ясно отмечен в тестовых записях.
Храните вместе версию браузера, семейство профиля, выбранный режим ресурсов, класс рабочего узла и результат прикладного сценария. Для пользовательской политики добавьте владельца, основание и дату пересмотра. Конкретные значения не должны жить только в команде запуска или в личных заметках оператора.
При обновлении сначала проверьте новый профиль на контрольном узле, затем повторите тот же сценарий на втором поддерживаемом классе хоста. Если задача использует постоянное состояние сайта, выполняйте сравнение и в чистом контексте, и в предусмотренном постоянном каталоге. Это помогает отличить изменение ресурсной политики от накопленного состояния приложения.
Если приложение сообщает о нехватке места или памяти, сначала определите, какой режим был выбран и когда создан контекст. Затем повторите задачу с последней проверенной конфигурацией. Не увеличивайте лимит автоматически: причина может находиться в незакрытых страницах, росте данных приложения или смене рабочего узла.
Сопоставляйте функциональный результат, а не только одно показание. Успешное сохранение данных, корректное завершение длительной операции и стабильный повторный запуск дают более полезную картину для решения о выпуске.
Частые ошибки
Проверять каждое значение отдельно
Квота может выглядеть правдоподобно, а куча JavaScript и память описывать другое устройство. Утверждайте всю группу.
Менять политику кучи после создания среды
Политика относится к циклу создания. После изменения запустите новую сессию или контекст.
Путать хранилище приложения и ресурсы профиля
Данные, кэши и постоянное хранение сохраняют обычное поведение. Проверяйте их по функциональным требованиям приложения.
Позволять смене рабочего узла переопределять профиль
При необходимости согласованности сохраняйте режим профиля во время переноса. Выбирайте режим хоста только для соответствующего теста.
Использовать одну политику для несвязанных устройств
Ресурсы должны соответствовать выбранному классу. Проверяйте мобильные, настольные и другие семейства отдельно.
Создание эталона выпуска
Выберите разрешенные задачи, которые обычно используют хранилище и память: сохранение черновика, открытие большого документа, загрузка медиапроекта или экспорт отчета. Запишите семейство профиля, версии BotBrowser и приложения, класс рабочего узла, режим политики и результат. Выполните эталон на каждом целевом классе хостов и храните отдельно результаты приватности и измерения емкости.
Перенос профилей между классами рабочих узлов
Начните с тестовой группы и подтвердите поддержку той же версии на целевом классе. Развертывание на основе профиля не должно незаметно переключаться на поведение хоста. Остановите исходный рабочий узел до запуска постоянного профиля на новом и проверьте миграцию перед расширением.
Разбор инцидентов с ресурсами
Сначала классифицируйте видимый симптом: ошибка сохранения, медленный документ, завершенная вкладка или отсутствие автономных данных. Воспроизведите задачу с записанными версиями и режимом. Сравнивайте последнюю утвержденную комбинацию с новой, меняя по одному компоненту, и отделяйте реальную емкость хоста от политики профиля.
Соразмерные материалы проверки
Используйте тестовые учетные записи и синтетические документы. Сохраняйте результат, версии и решение, но не секреты и не историю просмотра. Назначьте отдельных владельцев приложения, профиля и инфраструктуры, поскольку они утверждают разные части развертывания.
Проверка длительной работы
Добавьте задачу, которая работает достаточно долго для создания обычных данных приложения, перехода между страницами и освобождения временных ресурсов. Убедитесь, что сценарий остается доступным, а итог соответствует утвержденному семейству профиля. Реальное давление на рабочий узел записывайте отдельно от решения о политике браузера.
Повторите задачу после перезапуска службы и после обычной очистки приложения. Если сценарий проходит только на новом образе, возможна эксплуатационная проблема с сохраненными данными. Разбирайте ее отдельно, не меняя утвержденную ссылку профиля.
Проверьте задачу, которая записывает и повторно открывает тестовые данные. Приложение должно находить свое состояние в пределах ожидаемого жизненного цикла и удалять его по установленным правилам. Используйте специальные учетные записи и синтетическое содержимое.
Если сценарий создает документ или обрабатывает медиа, сохраняйте функциональный результат рядом с наблюдением ресурсов. Полный документ и стабильное воспроизведение подтверждают работу приложения. Фактический расход диска и памяти относится к бюджету хоста.
Запускайте длительный сценарий на каждой поддерживаемой категории рабочего узла. Одинаковый профиль должен сохранять утвержденное поведение, а инфраструктурный отчет отдельно показывает, выдерживает ли узел нагрузку. Один успешный сервер не представляет всю смешанную группу.
После задачи подтвердите, что служба готова принять следующую работу. Очередь должна двигаться, временные данные должны следовать политике приложения, а ресурсное давление должно возвращаться в рабочий диапазон. Постоянный рост требует расследования до продвижения выпуска.
Замена рабочих узлов
Перед возвратом нового узла в пул установите ту же утвержденную комбинацию браузера, профиля, службы и приложения. Сначала выполните короткий эталон. Замена должна завершить тот же сценарий, даже если физический диск и объем памяти отличаются от предыдущего хоста.
Не назначайте новые задачи неисправным узлам до проверки данных приложения. Замена не должна молча переносить незавершенные данные или повторно использовать неизвестный каталог. Следуйте принятой политике восстановления, хранения и удаления.
Запишите причину замены, установленную комбинацию и владельца решения о возврате. Это позволяет отличить обычное обслуживание от миграции, которая требует повторного утверждения класса инфраструктуры.
Если новый узел относится к другой категории, рассматривайте его как новый путь развертывания. Повторите пользовательские задачи, проверку восстановления и бюджет емкости. Сходство характеристик с утвержденной машиной не заменяет результат на фактическом назначении.
Проверьте права сервисной учетной записи, подключенные каталоги и доступное рабочее пространство. Интерактивный запуск от администратора не подтверждает работу службы после перезагрузки. Короткий эталон выполняется тем же пользователем и с теми же ограничениями, что и рабочая задача.
Сохраняйте предыдущий узел или образ до окончания наблюдения, если политика инфраструктуры это допускает. Возможность вернуть полностью утвержденную комбинацию сокращает восстановление при отложенной проблеме.
Решение по выпуску и откату
Запишите правило приемки до тестирования. Кандидат завершает репрезентативные задачи, сохраняет утвержденную политику профиля, укладывается в бюджет хоста и корректно восстанавливается после перезапуска. Каждый результат содержит владельца решения.
Различайте состояния принять, исправить и откатить. Незавершенная задача не становится успешной только потому, что процесс продолжает работать. Запись указывает затронутый сценарий, последний завершенный этап и выбранное действие.
Откат восстанавливает последнюю полную утвержденную комбинацию. После возврата выполните короткий эталон и подтвердите движение очереди. Материалы кандидата остаются для разбора, но его компоненты не смешиваются с восстановленным пулом.
Наблюдайте восстановленную комбинацию в течение принятого периода. Проверьте, что нет заблокированных задач, неожиданного роста диска, повторных перезапусков и устойчивого давления памяти. Инцидент закрывается после подтверждения приложения и инфраструктуры.
Если проблема затронула только одну семью профиля или класс узлов, ограничьте откат этой областью. Запись развертывания должна показывать, какие группы получили кандидат и какие уже восстановлены. Это предотвращает ненужное изменение исправных групп.
После решения обновите эталон только при намеренном изменении продукта или профиля. Исправление инфраструктуры не должно автоматически менять ожидаемое браузерное поведение. Владелец каждой области подтверждает собственную часть результата.
Свяжите решение с записью развертывания и с задачами, которые использовались для приемки. Следующий выпуск должен начинаться с известной комбинации, а не с устного предположения о состоянии пула.
Проверьте завершение временных тестов после принятия решения. Тестовые учетные записи закрываются по правилам среды, синтетические документы удаляются по сроку хранения, а рабочие узлы возвращаются к обычной очереди.
Если кандидат отклонен из-за емкости, сохраните профильную оценку отдельно. Утвержденная согласованность может оставаться верной, хотя выбранный класс хоста не выдержал рабочую нагрузку. Новый инфраструктурный кандидат проходит собственный бюджет и восстановление.
Если кандидат отклонен из-за пользовательского результата, передайте страницу владельцу приложения и оставьте инфраструктурный отчет без изменения. Такое разделение не позволяет одному сбою обесценить независимые результаты проверки.
Итоговая запись перечисляет утвержденные классы узлов и семейства профилей. Новая категория не получает это решение автоматически. Она проходит короткий эталон, длительную задачу, восстановление и отдельное подтверждение емкости до добавления в рабочий пул.
Храните дату следующего пересмотра рядом с решением. Существенное изменение приложения, образа, профиля или рабочей нагрузки запускает проверку раньше планового срока.
Частые вопросы
Режим профиля показывает размер диска рабочего узла?
Режим профиля использует активный профиль для документированной квоты вместо того, чтобы делать рабочий узел идентичностью ресурсов.
Квота и данные приложения являются одним и тем же?
Нет. Квота является значением ресурсов профиля. Базы данных, кэши и постоянное хранение остаются вопросами приложения и браузера.
Когда начинает действовать политика кучи JavaScript?
Применяйте ее до создания соответствующей сессии или контекста. После изменения запускайте новую среду.
Нужно ли отдельно проверять память устройства?
Проверяйте ее вместе с квотой и кучей JavaScript. Все три значения должны соответствовать одному классу устройства.
Можно ли использовать реальные ресурсы хоста?
Да, если это явная цель теста. Зафиксируйте режим, потому что результат может измениться после переноса нагрузки.
Где находятся подробные настройки?
Смотрите документацию памяти и хранилища по конфигурации и жизненному циклу. Руководство по профилям описывает общий процесс.
Защита памяти и хранилища работает как единая политика профиля. Согласуйте квоту, кучу JavaScript и память устройства, применяйте изменения до создания среды и тестируйте хранилище приложения как отдельную функцию.
Похожие статьи
Переведите BotBrowser из исследований в продакшн
Используйте эти руководства, чтобы понять модель, а затем перейти к кроссплатформенной валидации, изолированным контекстам и масштабируемому браузерному развертыванию.