Этот гостевой пост был написан Россом Долдом из EOSphere. Узнайте больше о работе EOSphere в экосистеме EOS в конце этой статьи.
Antelope Leap v5.0.0 был выпущен около месяца назад и в настоящее время применяется во многих сетях на базе Antelope, поскольку операторы узлов начинают модернизировать свои производственные среды.
Leap v5.0.0 спроектирован так, чтобы быть более производительным, эффективным и надежным, чем предыдущие версии, что является отличной новостью для операторов узлов, поскольку даже небольшие улучшения могут привести к огромным преимуществам для парка из 100 управляемых узлов.
Имея это в виду, команда EOSphere задокументировала практическое сравнение улучшений процессора, памяти и дискового ввода-вывода между Leap v4.0.4 и v5.0.0 в статье ниже.
Производительность процессора, памяти и дискового ввода-вывода Leap v5.0.0
Следующая статья была написана на основе сбора статистики с одного из общедоступных одноранговых узлов основной сети EOSphere EOS. Этот узел был выбран потому, что он уже находится в производстве и широко используется: естественно, в него поступает 180–195 общедоступных узлов. Аппаратная конфигурация следующая:
Убунту 22.04
Виртуализация в KVM 7.2.0
4 ядра процессора
32 ГБ ОЗУ
128 ГБ подкачки
Диск 1: ОС и состояние: Enterprise NVMe емкостью 256 ГБ.
Диск 2: Блоки: Enterprise NVMe (ZFS) емкостью 4 ТБ.
Процессор
Ниже приведена ежемесячная диаграмма использования ЦП, показывающая загрузку версии 4.0.4 до обновления до версии 5.0.0 22 января 2024 г. (20:00).
Использование ЦП KVM общедоступными узлами EOSphere
Загрузка ЦП сразу же снизилась со среднего показателя 85% до нормализованных 60%.
Это отличная новость для запуска нескольких узлов в физической, виртуальной или облачной среде. Это также может означать, что традиционно настроенное максимальное количество клиентов, равное 200, может быть расширено до 250 или даже 300 для общедоступных узлов.
Дисковый ввод-вывод и память
Если вы читали наши предыдущие статьи о цепочке Antelope, вы знаете, что EOSphere всегда выступала за использование стратегии tmpfs для запуска узлов Leap.
Стратегия tmpfs предполагает запуск папки состояния базы данных nodeos Chainbase в монтировании tmpfs, что позволяет нам переподписать ОЗУ через SWAP и улучшить использование памяти и эффективность дискового ввода-вывода.
tmpfs — это файловая система Linux, которая хранит все файлы в виртуальной памяти, а содержимое папки является временным. Это означает, что если папку отключить или перезапустить сервер, все содержимое будет потеряно.
Проблема с использованием tmpfs заключается в том, что это временное явление: все данные теряются при перезагрузке, и затем Nodeos необходимо будет перезапустить с помощью моментального снимка.
В Leap v5.0.0 добавлен новый режим сопоставления базы данных, называемый mapped_private, в качестве альтернативы режиму сопоставления по умолчанию. Вместо постоянной записи на диск в режиме сопоставления режим mapped_private лучше использует память и уменьшает количество дисковых операций ввода-вывода. Это достигается за счет сопоставления базы данных цепной библиотеки с памятью с использованием частного сопоставления, что означает, что любые данные цепной библиотеки, к которым осуществляется доступ во время выполнения, сохраняются в ней. памяти и не могут быть записаны обратно в дисковый файлshared_memory.bin.
Если это звучит знакомо, то это так. Mapped_private — отличная замена стратегии tmpfs. Это означает, что нет необходимости монтировать раздел tmpfs, а поскольку данные библиотеки ссылок в памяти записываются на диск при выходе, нет необходимости перезапускаться с созданием моментального снимка при перезагрузке.
конфигурация mapped_private
Конфигурация Mapped_private просто добавляет следующее в config.ini:
> нано конфиг.ini
режим карты-базы данных = сопоставленный_частный
Чтобы запустить узел mapped_private, требуется достаточно памяти для перезаписи частного сопоставления, настроенного с помощью Chain-state-db-size-mb =, физическая RAM может быть заменена на SWAP, что допускает переподписку.
На момент написания 32 ГБ физической оперативной памяти и 128 ГБ SWAP достаточно для работы узла основной сети EOS.
Mapped_private операции и результаты
Когда запускается первый узел mapped_private, предполагая, что вы начинаете со снимка, вся библиотека цепочки будет загружена в память (RAM и SWAP) и это может занять некоторое время.
Использование ЦП и памяти при первом запуске режима Mapped_private
При выходе узла библиотека цепочек в памяти записывается на диск, что может занять некоторое время в зависимости от ее размера.
Последующие узлы запускаются быстрее, не требуют моментальных снимков и добавляют в память только данные, необходимые для выполнения, демонстрируя гораздо более низкое использование.
Использование ЦП и памяти при втором запуске режима Mapped_private
Последующие выходы Nodeos также будут быстрее, в зависимости от того, как долго работает узел, поскольку mapped_private отслеживает «грязные» страницы и записывает их только при выходе.
Использование памяти также немного улучшено по сравнению с режимом отображения.
Использование ЦП и памяти в сопоставленном режиме
Помимо переподписки ОЗУ и более низкого использования, реальная ценность использования Mapped_private и причина, по которой EOSphere вообще начала использовать этот режим, заключается в том, что дисковый ввод-вывод намного ниже.
Требования к производительности потребовали от оператора разместить папку состояния, содержащую базу данных Chainbase, на высокоскоростном SSD-накопителе. SSD-накопители имеют рейтинг выносливости, присвоенный производителем, который указывает максимальный объем данных, которые можно записать на диск до того, как произойдет сбой. Обычно это измеряется в записанных террабайтах (TBW), которые обычно составляют от 150 до 2000 ТБВ на потребительских дисках и в диапазоне ПБ на корпоративных дисках. По сути, слишком большое количество операций записи на диск может привести к износу SSD-диска, что приведет к сбою.
Ниже показан ввод-вывод (запись) диска 1 для примера однорангового узла в сопоставленном режиме. В сети происходит 10–15 транзакций в секунду (TPS).
Использование подключенного режима ввода-вывода диска 1 (запись)
Это дисковый ввод-вывод (запись) диска 1 для нашего примера узла. При использовании режима Mapped_private сеть видит те же 10-15 TPS.
Диск 1, ввод-вывод (запись) в режиме mapped_private
Это показывает, что использование mapped_private значительно уменьшает объем операций записи.
Примерно от 4 мегабайт (МБ) в секунду до 12 килобайт (КБ) в секунду. Примерно 120 ТБВ/год уменьшено до 0,378 ТБВ/год.
Это означает, что твердотельные накопители служат дольше, виртуальные среды лучше масштабируются, а облачные среды не ограничены ограничениями на операции ввода-вывода.
Таким образом, Antelope Leap v5.0.0 имеет меньшую загрузку ЦП, более эффективное использование памяти и более простой в управлении меньший объем операций ввода-вывода на диске при использовании Mapped_private.
Пожалуйста, обязательно задавайте любые вопросы в Telegram EOSphere и EOS Global Telegram.
Этот гостевой пост был написан Россом Долдом из EOSphere. EOxSphere — производитель блоков и поставщик инфраструктуры для основной сети EOS и других блокчейнов на базе Antelope. Узнайте больше об их работе на EOSphere.io по ссылкам ниже.
О сети EOS
Сеть EOS — это воплощение эпохи блокчейна 3.0, основанная на виртуальной машине EOS. EOS VM — это высокопроизводительный и масштабируемый движок WebAssembly с малой задержкой, который обеспечивает практически плавное детерминированное выполнение транзакций. Сеть EOS разработана специально для Web3 и призвана обеспечить максимальное удобство для пользователей и разработчиков Web3. EOS является флагманским блокчейном и финансовым центром протокола Antelope и использует EOS Network Foundation (ENF) в качестве инструмента для многоцепочного сотрудничества и разработки общедоступных базовых продуктов для дальнейшего улучшения инфраструктуры и стимулирования быстрого развития EOS.
О Фонде сети EOS
Фонд EOS Network Foundation (ENF) был создан для создания процветающего, децентрализованного будущего для экосистемы EOS. Поощряя активное участие основных заинтересованных сторон в экосистеме EOS, поддерживая общественные проекты, обеспечивая финансирование экосистемы и поддерживая создание экосистемы открытых технологий, ENF запускает новый раунд изменений Web3. Являясь центром сети EOS и ведущей платформой с открытым исходным кодом, ENF была основана в 2021 году и имеет стабильный набор инфраструктур, инструментов и библиотек развертывания блокчейна. Вместе мы внедряем инновации в построении сообществ и работаем над созданием более сильного будущего для всех.