Юра
Хотя если честно пхп и высокие нагрузки это такое.
The Ant
Просто с ними беда при больших нагрузках и асинхронных всяких апишках
у уиидов еще большая беда должна быть :D вот скейлить бд с автоинкрементом проблемно да
Юра
Ну я про это. Или например иногда бывает полезно вернуть клиенту айди до того как происходит сохранение в бд
Павел
Или когда удобнее (или единственный вариант) генерить на фронте
The Ant
потому что гарантии что сохранится нет
Юра
Ну и вообще при быстрых вставках например автоинкремент по сути глобальный лок
The Ant
при определенных настройках бд есть варианты когда даже сохранение в бд не гарантирует реального сохранения :D Когда пишется сначала в память, а потом сбрасыавется
Vlad
потому что гарантии что сохранится нет
если ты поймаешь дубликат на уиде 4, 6 или 7, то можешь идти требовать миллион от лотерей
The Ant
на рамси кстати, пару лет назад тестил v4
The Ant
а на симфе небыло, кстати
Юра
Скажите кто-то использует рандом данные в тестах?
Vlad
там одинаковые генераторы. 4ка генерится однотипно. Берут значения из random_bytes(16), потом меняют 2 байта
Vlad
просто в сф сделали чуть более топорней
Юра
Я такое видел в одной конторе, но не пойму стоит ли оно того
Юра
Ну когда каждый раз данные в тестах рандомные
Vlad
ну мы фигачим в некоторых рандомные строки длинные
Павел
Скажите кто-то использует рандом данные в тестах?
Плюс что можно поймать какие то случайные баги, минус, что сложнее писать тесты, которые зависят именно от данных
Vlad
Скажите кто-то использует рандом данные в тестах?
есть шанс напороться на мигающий тест
Vlad
проще вызвать функцию, чем хуячить строку 150+ символов же
Юра
есть шанс напороться на мигающий тест
По идее если через дата провайдер то там напишет при каких данных фейл
Юра
Больше смущает вопрос что это даёт. Не проще руками просто прописать все возможные варианты и все
Юра
Хотя с сочетаниями сложно
Юра
Рандом в итоге переберет все возможные сочетания
Юра
Ну без дата провайдера сложно да. Непонятно при каких данных упало
The Ant
Или когда удобнее (или единственный вариант) генерить на фронте
Такое для сбора метрик збс, в кликхаус какой. Всякие реквест иды, иды сессий генерить для ананимусов и прочее
The Ant
Хотя с генерацией ууидов на фронте не все так радужно. Некоторые браузеры не поддерживают рандом генерацию 😄
The Ant
А Либа которая генерит ууиды всего одна популярная 😄
The Ant
Я им ишью написал, мол миллионы скачиваний, а такую мелоч починить не можете. Они мне в ответ такие "иди отсюда токсик, ты не конструктивные" 😄 Сраные вротендеры
Павел
Такое для сбора метрик збс, в кликхаус какой. Всякие реквест иды, иды сессий генерить для ананимусов и прочее
Ну у нас сейчас есть флоу, где фронт генерирует большой пласт нескольких сущностей и их связей. Короче это удобно. Или же вообще офлайн генерация в моб.приложении а потом синк на бэк при появлении интернета
The Ant
Удобно да, если коллизии не критичны
The Ant
Иначе потом заморочка с изменением сгенерировано Ида 😄
Nikolay
Удобно да, если коллизии не критичны
Ты найди эти коллизии сначала
The Ant
Я ж писал что находил. Думаешь я тут просто так паранойю?
Nikolay
Я ж писал что находил. Думаешь я тут просто так паранойю?
Ну отчасти так и есть, иначе почему все этим пользуются
The Ant
Потому всем похеру. Ну будет ошибка ничо страшного 😄
The Ant
Вот даже взять тебя. Говоришь не страшно. А когда случится? Что делать будешь? )
Nikolay
Вот даже взять тебя. Говоришь не страшно. А когда случится? Что делать будешь? )
Ничего, на текущем месте работы не используются уиды почти, потому что исторически так сложилось. На прошлом месте не было никаких проблем
The Ant
Ничего, на текущем месте работы не используются уиды почти, потому что исторически так сложилось. На прошлом месте не было никаких проблем
Ну если не было не значит что не будет. Если картинка какая не загрузится и хер с ней. А если заказ на пару сотен кк из-за этого потеряется?
Павел
Используй 7 версию
6 все равно грешит?
The Ant
Не важно какая там версия, в таком случае ты должен разрулить эту ситуацию
Павел
Не важно какая там версия, в таком случае ты должен разрулить эту ситуацию
Там старшие байты вроде как время, т.е. Попасть максимально сложно
Павел
Это надо чтобы миллион запросов в 1 сек были и ещё в коллизию попали
The Ant
Там старшие байты вроде как время, т.е. Попасть максимально сложно
Там ещё и можно инстанс маркировать, и рандом небольшой есть ) но это все уменьшает вероятность, не исключает
Павел
Достаточно двух, и удачи -999
Я думаю не стоит упарываться
Павел
+ не все сущности на столько важны
Павел
Где то можно потерять 1 из нескольких миллиардов, а где то возможно нет.
Павел
Думаю обычные баги теряют больше заказов чем коллизии uuid)
The Ant
Ну вот да
Nikolay
0.001 это очень высокая вероятность 😄
Там ещё пару нулей надо было добавить
The Ant
Но я понял о чем ты 🤣
Елнур
Из 100?
Если из 1, то считай 0.1%, что очень много
Елнур
Если из 100, то 0.00001%
The Ant
Там ещё пару нулей надо было добавить
Нулей 20-30, у меня в сутки около 20кк просмотров. И все трекается. Ууидов генерится очень много )
Nikolay
Нулей 20-30, у меня в сутки около 20кк просмотров. И все трекается. Ууидов генерится очень много )
Просто нет смысла создавать себе проблемы, а потом героически их решать. Так как полно других более важных проблем
The Ant
Нормальный такой траф и объем БД
Кликхаус на 10ядрах тянет, голенг аккумулирует и пачкой скидывает в него
The Ant
Фигня короче
Павел
Тип много машин?
The Ant
Рисует графики ) хотя можно было графану сделать, но я на тот момент не знал про нее
The Ant
Тип много машин?
Нет, 1 сервер на 10ядрах
Павел
Нет, 1 сервер на 10ядрах
Ну приложение же на пыхе? 20кк трафика это не хер собачий) 230 rps, но это среднее.
The Ant
Там пиками, до 1к рпс по вечерам. Но у меня тупые круды
Павел
Там пиками, до 1к рпс по вечерам. Но у меня тупые круды
Удивлен что сама пыха тянет + что 1 сервер.
The Ant
Пыху раз в 3-4 месяца рестартить надо. Наедает чето и проц в потолок уходит
The Ant
А так пару серверов работают, с 24 ядрами
Павел
Мы просто как то чисто стрес тест танком делали, чтобы понять что нам нужно для 5к рпс (ну чисто теория), то пришли к тому, что 100-200рпс выдерживает один под в кубере (хз как там правильно) с учетом того, что тестили 1 эндпоинт где получение данных с редиса)))
Павел
И типа нам говорили, что это еще норм для 1 инстанса
The Ant
Зависит от типа данных же, приложух. Если ендпоинт можно кешировать, то и в бд ходить не надо