Electroneum & Ryvox
Ryvox Ryvox
Заметил, как микросекундная задержка в крипто-транзакции ощущается как целая секунда? Пытаюсь измерить этот лаг, интересно, как он сравняется с новейшей мобильной кошелёк технологией.
Electroneum Electroneum
Вот это да, правда? Одна тысячная секунды может ощущаться как целая вечность, пока ждешь подтверждения в блокчейне. Я тут небольшой таймер в свое приложение для кошелька запилил, чтобы эту задержку засекать – использовал SystemClock от Android и CACurrentMediaTime от iOS, чтобы измерять каждый раунд. Цифры просто сумасшедшие, 1.5 миллисекунды на самом быстром блокчейне, но на перегруженной сети скачет до 8 миллисекунд – будто полсекунды прошло. Если хочешь сравнить, скинь мне данные о задержке из своего тестового кошелька, и мы сравним их с моей последней версией. Интересно, смогла ли моя новая оптимизация хоть немного уменьшить этот лаг!
Ryvox Ryvox
Конечно, вытащу последние 500 транзакций из тестового кошелька, усредню и отправлю тебе. Пока, скажи, оптимизация нацелена на снижение пиковых задержек в 8 миллисекунд или на среднюю задержку? Это сильно меняет расчеты. И если нужен будет простой перепроверки, могу сравнить с моей таблицей оценки "уровня головокружения" для разных кривых задержки. Это поможет избежать неприятных ощущений.
Electroneum Electroneum
Привет, я сейчас в первую очередь занимаюсь тем, чтобы эти пики в 8 миллисекунд убрали — надо, чтобы пользовательский опыт был максимально плавным, правда? Как только с худшим случаем разберемся, доведём до ума и среднюю задержку. Отличная идея с таблицей "уровни головокружения", это даст нам наглядное представление о том, как ощущаются эти цифры. Кинь мне статистику за 500 раундов, когда будешь готов, и мы все вместе посчитаем — сделаем этот кошелек практически мгновенным!
Ryvox Ryvox
Получил пятьсот образцов, вот сырые данные – время каждой передачи в миллисекундах, от 0.001 до 0.012, с учётом пиков в 8 миллисекунд. Давай построим график по твоей шкале "уровней дискомфорта", посмотрим, где пользователь чувствует задержку. Я готов подкрутить код, как только ты определишь пороги для этих пиков. Буду рад, если получится снизить эти 8 миллисекунд до плавного перехода в 3.
Electroneum Electroneum
Понял, давай запустим плоттер и наложим эти образцы на решетку искажений – жди, вспышки в 8 миллисекунд активируют зону повышенного внимания. Я обработаю пороги и верну тебе оптимальное значение, которое сократит худший случай до 3 миллисекунд. Сделаем так, чтобы это ощущалось мгновенно!
Ryvox Ryvox
Отлично, я настрою сетку, обозначу зону повышенной осторожности и буду ждать твой оптимальный момент. Пока ты будешь возиться с пороговыми значениями, я быстро прогоню симуляцию на синтетических 1000 транзакциях, чтобы посмотреть, как кошелёк ведёт себя под нагрузкой. Это даст нам отправную точку, прежде чем мы достигнем этого целевого значения в 3 миллисекунды.
Electroneum Electroneum
Отлично, договорились! Поставлю порог в 8 миллисекунд как "предупреждающий" уровень, а потом сдвину кривую вниз, чтобы линия в 3 миллисекунды попала в эту идеальную точку – без дребезга. Скажи, что покажет стресс-тест, и подправим код, чтобы всё оставалось в порядке. Начнём!
Ryvox Ryvox
Получил результаты стресс-теста. Пик в 9 миллисекунд, 60% пакетов уложились меньше 5 миллисекунд, среднее – 2,3 миллисекунды. После корректировки кривой, линия в 3 миллисекунды теперь покрывает около 95% трафика. Значит, с твоим новым порогом кошелёк должен работать настолько плавно, что ты забудешь про лаги. Скажи, это то, что нужно, или нам ещё немного подкрутить кривую?
Electroneum Electroneum
Идеальное место, вот тут! 95% под 3 миллисекунды – для пользователей это практически мгновенно, можешь смело зафиксировать этот предел. Если нужен небольшой запас, можно немного подтянуть кривую, но я думаю, мы уже в зоне комфорта. Сообщи, как запустишь и как будет выглядеть реальная нагрузка. Следим, чтобы всё работало как часы!
Ryvox Ryvox
Заблокировал границу, помечен канал 3 мс, обновил конфигурационный файл. Буду мониторить реальный трафик в течение суток, потом выложу данные в таблицу и посмотрю, упадет ли уровень нестабильности ниже критической отметки. Если все останется в пределах 3 мс, считаем, что мы справились. Иначе – свяжусь с тобой, чтобы подкрутить параметры. Жду стабильной работы.