Size: a a a

Сrystal Lang — русскоговорящее сообщество

2021 May 22

YS

Yura Sokolov in Сrystal Lang — русскоговорящее сообщество
Вот как вредно на Go писать.
источник

ВВ

Ваня Ваня in Сrystal Lang — русскоговорящее сообщество
на руби или на рельсе? Если нужно + 10x к скорости, то просто этот кусок переписываешь на Roda и ок)
источник

I

Ivan in Сrystal Lang — русскоговорящее сообщество
Человек сейчас живет лучше меня))
источник

RU

Roman Usherenko in Сrystal Lang — русскоговорящее сообщество
ну хз 200-700мс - в этот вполне укладываются нормальные вебаппы, саасы всякие и прочее
маркетплейс не требует реалтаймовой точности же
источник

YS

Yura Sokolov in Сrystal Lang — русскоговорящее сообщество
Ты, человек, не понял. Там проблема была не в скорости приёма HTTP запросов и посылки ответа. Там была туева хуча бизнес-логики. Просто переписывание её с Go на Ruby замедлило бы выполнение в десятки раз, даже если это будет супер-лайт-вейт рубишный фреймворк.
источник

YS

Yura Sokolov in Сrystal Lang — русскоговорящее сообщество
Это про "интерпретатор vs компилируемый язык"
источник

RU

Roman Usherenko in Сrystal Lang — русскоговорящее сообщество
логика на руби только тогда ощутимо тяжелей, когда надо обрабатывать много объектов
источник

YS

Yura Sokolov in Сrystal Lang — русскоговорящее сообщество
Там было (и есть) много объектов, и ещё больше кода их обработки.
источник

YS

Yura Sokolov in Сrystal Lang — русскоговорящее сообщество
И всё это индивидуально для каждого пользователя, по-этому из бизнес-логики почти ни чего не закэшируешь. Только самые примитивные выборки и агрегации.
источник

RU

Roman Usherenko in Сrystal Lang — русскоговорящее сообщество
ну хз, я вот пишу calendly, у нас и объектов много и логики много, но все на рельсах без проблем
а вот когда появилась задача комбинаторного типа с переборами - вот это уже было написано на расте
источник

YS

Yura Sokolov in Сrystal Lang — русскоговорящее сообщество
В маркетплейсе до фига переборов. Результат выдачи зависит от десятков параметров: страны пользователя, его предыдущих поисков и покупок, текущих предложений мерчантов, стоимости доставки в страну от каждого из них, и "добросовестности" каждого из них, а также от того, в какие эксперименты попал пользователь (а в каждом эксперименте может быть ещё пяток параметров). В итоге, весь этот анализ приходится делать online в момент выдачи, т.к. от комбинаторного перемножения этих параметров ни какого кэша не хватит всё закешировать.
источник

I

Ivan in Сrystal Lang — русскоговорящее сообщество
Какой RPS?
источник

RU

Roman Usherenko in Сrystal Lang — русскоговорящее сообщество
ох я так сразу не скажу, давно не смотрел метрики
источник

RU

Roman Usherenko in Сrystal Lang — русскоговорящее сообщество
глянул, 1250 в пике
источник

YS

Yura Sokolov in Сrystal Lang — русскоговорящее сообщество
В общем, RPS RPS-у рознь.
У нас на 10000 RPS уходит 120 ядер на API на Go, 40 ядер вспомогательного сервиса на Java, и ещё ядер 40 микросервисов на Go. Это не считая эластика, монги и редиса.
(я называю не точные цифры, т.к. я там уже не работаю, да и нельзя точные называть. Но порядок примерно такой).
И всё это раз в несколько месяцев профилируется и пытается оптимизироваться.
источник

AN

Artem Napolskih in Сrystal Lang — русскоговорящее сообщество
200-700 ms, это обычные нормальные цифры для рельсового проекта. Я долгие годы такой развивал, хайлоад, огромный портал. Сейчас так же успешно руби на другом большой проекте используем. На го только некоторые сервисы.
источник

YS

Yura Sokolov in Сrystal Lang — русскоговорящее сообщество
Всё зависит от кол-ва бизнес логики. CMS на PHP может и за 50 ms работать и выдавать 5000RPS с сервака, если ей делать ни чего не нужно практически
источник

AN

Artem Napolskih in Сrystal Lang — русскоговорящее сообщество
Сложнейшая логика. Огромный портал.
источник

AN

Artem Napolskih in Сrystal Lang — русскоговорящее сообщество
В нормальной архитектуре не считают на каждый показ кучу всего.
источник

AN

Artem Napolskih in Сrystal Lang — русскоговорящее сообщество
Все посчитано в фоне, очередями и подготовлено.
источник