Уважаемые пользователи Голос!
Сайт доступен в режиме «чтение» до сентября 2020 года. Операции с токенами Golos, Cyber можно проводить, используя альтернативные клиенты или через эксплорер Cyberway. Подробности здесь: https://golos.io/@goloscore/operacii-s-tokenami-golos-cyber-1594822432061
С уважением, команда “Голос”
GOLOS
RU
EN
UA
blockchained
5 лет назад

📢 Новости о разработке Steemit: снижение затрат, RocksDB/MIRA, разделение Condenser

Привет, стимеры!
Последнее время мы старательно работали над тем, чтобы сократить расходы на эксплуатацию нод steemd, адаптировать RocksDB для использования в Steem и разделить condenser на отдельные приложения Wallet и Social. В сегодняшнем посте мы хотели бы рассказать вам о прогрессе, достигнутом нашими инженерами в этих областях. Публикуя подобную информацию, мы надеемся дать вам более глубокое понимание нашей деятельности и помочь другим операторам нод (например, разработчикам приложений) также сократить свои расходы.

Снижение затрат на работу экземпляра EC2

Фулл стек, на котором запущен Steemit, на самом деле состоит из 14 отдельных частей программного обеспечения. Некоторые наиболее известные из них – это steemd, condenser и hivemind, однако среди них есть и менее известные приложения, такие как jussi, conveyor и даже redeemer. Каждый из этих компонентов программного обеспечения работает на своём собственном экземпляре EC2, который можно рассматривать как облачный сервер.

Цель: оптимизация

Цель данного проекта – оптимизировать типы экземпляров, используемых для каждой части программного обеспечения. Для этого мы анализируем такие показатели, как загрузка CPU и RAM в течение заданного периода времени при определенном объеме трафика. Выявив, какие именно экземпляры используются не в полной мере, мы можем добиться значительной экономии средств, просто переключившись на более дешевый тип экземпляров.

После этого мы можем обратить внимание на процесс, посредством которого увеличивается и уменьшается масштаб экземпляров, дабы удовлетворить потребность в дополнительной вычислительной мощности, где это необходимо. Мы также можем еще больше сократить расходы, сделав так, чтобы экземпляры были не больше, чем необходимо, с учётом того, какая вычислительная мощность требуется в любой конкретный момент для покрытия потребностей сети.

Такие изменения необходимо вносить с осторожностью, чтобы общее время отклика оставалось относительно постоянным, а масштабирование происходило достаточно быстро для поддержки дополнительной нагрузки, возникающей в периоды высокого трафика.

Статус задачи

На данный момент мы выполнили эту задачу для четырех приложений. Мы смогли снизить наши среднемесячные расходы на condenser (программное обеспечение, которое поддерживает steemit.com) на 60%.

Также удалось сократить расходы на conveyor на 75% при сохранении прежней производительности. Когда этот проект будет завершен, мы сфокусируемся на том, нужно ли использовать «зарезервированные экземпляры», что потенциально может обеспечить дополнительное снижение затрат в диапазоне 20–35% от общих расходов на EC2.

RocksDB и MIRA

Пару месяцев назад мы объявили, что разрабатываем новое программное обеспечение, которое называется MIRA – Multi Index RocksDB Adapter. Цель MIRA – позволить нодам блокчейна Steem хранить почти все необходимые данные на диске в современной базе данных, а не в оперативной памяти. Тогда же мы сосредоточились на том, чтобы RocksDB работал с единообразием данных.

Теперь у нас есть корректная реализация MIRA, которая в течение нескольких недель прошла все наши тесты и перешла на этап оптимизации производительности. На данный момент существует около 200 вариантов, которые можно использовать для настройки RocksDB с целью максимизации производительности. Мы продолжаем оптимизацию, однако уже достигли достаточного прогресса, чтобы обосновать приоритетность развертывания RocksDB в нашей среде разработки с целью протестировать производительность в режиме реального времени. Нашей задачей здесь является достижение паритета производительности на среднем оборудовании, что сделает поддержание работы ноды Steemd намного дешевле.

Разделение Condenser

И наконец, мы добились значительного прогресса в разделении condenser на два отдельных приложения: одно социальное, а другое – финансовое (Social и Wallet). Процесс включал в себя создание форка condenser и последующее аккуратное устранение из него любых элементов, не относящихся к данному приложению. Цель – полностью разделить задачи по их типам. Финансовая версия не нуждается ни в каких социальных функциях, а социальная версия, само собой, не нуждается ни в каких финансовых функциях.

Мы уже исключили все социальные функции из кошелька и в настоящее время оптимизируем пользовательский опыт в этом приложении.

Что касается социальной сферы, там мы удаляем компоненты, которые используют активный ключ, а также любые API-сервисы для регистрации (которые теперь являются частью кошелька). Чтобы узнать больше о том, почему мы создали два отдельных condensers, прочитайте наш предыдущий пост.

Нам предстоит проделать еще много работы, но мы очень довольны достигнутым прогрессом. Мы непременно будем публиковать все важные новости о данном процессе, поэтому обязательно подпишитесь на @steemitblog, если хотите получать информацию о нашей работе по повышению устойчивости и масштабируемости экосистемы Steem.

  • Команда Steemit

Переведено @blockchained

Оригинал поста: ЗДЕСЬ


Если вам нравится то, что мы делаем - поддержите нашего proxy blockchained в сети Steem


Телеграм чат: https://t.me/steemit


Загрузите десктопное приложение с открытым исходным кодом RuDex


Вы можете торговать токенами STEEM/SBD на RuDEX

0
157.461 GOLOS
На Golos с January 2017
Комментарии (1)
Сортировать по:
Сначала старые