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

Текущие дела

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

Память

Во первых как многие уже заметили, golos.io стал сильно тормозить. Да и у меня моя API нода упала а в месте с ней и бот с авторскими статистиками, так как кончилось отведенное ей место. А подняться уже не смогла - вернее я просто не смог дождаться. Пришлось брать новый сервер, с 48Gb RAM, что бы база данных блокчейна влезла в оперативную память. Стало лучше. Разбирался, куда уходит все. Оказывается больше всего потребляет account_history плагин. Этот плагин сохраняет все операции в базе данных, а число операций с осени резко возросло. Это видимо связанно с программой 50/50. Каждый день осуществляется очень много трансферов монет. Топовые откатчики делают по несколько тысяч переводов каждый день. Да и число текстов увеличилось. Судя по логам, теперь каждые пять дней увеличивают размер базы данных на 1 гигабайт.

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

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

track-account-range = ["booster","booster"] 

Это сократит потребление памяти в разы. Для @golos.loto это тоже наверное актуально.

И вообще, мне непонятно, почему разработчики @goloscore занимаются каким то плагином статистики и market api, которые вряд ли кому то нужны. Наш market не жив ни мертв. На сервера golos.io по слухам уходит уже по 5000 долларов в месяц из бюджета за несколько десятков серверов. Не стоило ли заняться сначала этой темой? Решение проблемы потребления памяти снизило бы нагрузку на бюджет, позволило бы возможно взять в штат еще одного разработчика. Да и погонщикам скриптов стало бы проще содержать свои ноды и не давать дополнительную нагрузку на инфраструктуру golos.io.

Стимит на много впереди и там сейчас сервера сжигают колоссальное количество баксов, но им хотя бы цена токена steem позволяет.

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

Жалко загруженность на работе не дает мне уделять много времени этому. Да плюс грипповал всю неделю.

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

ХФ 17

Я неделю назад решил попробовать приготовить ХФ 17 c линейной кривой и без ограничения на 5 комментариев в одной ветке (вернее ограничение увеличенно до 64тыс. комментариев).

Мне эта война флагов абсолютно не нравится. Это мешает ведению бизнеса на голосе, хотя может и интересно. Напоминает скорее 90-е в России. Потому я думаю надо как можно быстрее менять выплаты, с квадратичной, на линейную функцию. Так как goloscore не желает этого делать, я решил попробовать сам заняться этим.

Я уже поправил исходники, все компилируется. На данный момент я тестирую с реальными данными. Уже поймал переполнение стэка ). Мои знания C++ несколько заржавели и протухли уже. Последний раз реально я программировал в 2000-ом на C++. STL тогда только устаканилось. И годы явы, да скриптов меня как то расслабили. Я честно говоря боюсь лезть глубоко в код и многих веще еще толком не понимаю. Потому стараюсь как можно меньше трогать код.

Вообщем сейчас идет построение базы данных на реальных данных. Буду смотреть потом, как линейность влияет на выплаты постам. Можно будет смотреть, сколько наши топовые посты на 16.4 получили и сколько те же посты получили после моего ХФ 17.

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

Код я коммичу там

https://github.com/gropox/golos/tree/gropox-author-rewards

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