Anonymous
да дело в настройках
Alexey
Также итерироваться по строке так нельзя, используй range
Danil
о спасибо
Anonymous
Danil
так блед
Alexey
решили с учебниками по GO поспорить?
? range итерируется по рунам
Danil
ладно спрошу у преподователя лучше
Anonymous
индекс тдет по байтам
Anonymous
цезарь делается как по рунам так и по байтам
Alexey
индекс тдет по байтам
Обычная итерация идёт по байтам
Alexey
решили с учебниками по GO поспорить?
https://golang.org/doc/effective_go.html#for
Anonymous
Обычная итерация идёт по байтам
дак вот даже XOR-ы делаются по байтам
Brommie
Чето печалька, запустил на го статический сайт (с использованием go.rise) и на nginx. В итоге нгинкс при дефолт настройках выигрывает 100рпс
Anonymous
https://golang.org/doc/effective_go.html#for
напугали с рунами спрашивающего
Brommie
и что тут необычного?
ожидал буста от того что все ассеты в оперативке. Хотя nginx тоже может кеширует, хз
Roman
ожидал буста от того что все ассеты в оперативке. Хотя nginx тоже может кеширует, хз
nginx это высоко оптимизированный сервер для сервинга статики (на самом деле платформа, но чаще всего просто file server), его крайне сложно побить, особенно Гошей
Roman
если разве что фастхттп подрубить) но я хз, я го дилетант)
я не думаю что fasthttp поможет, в оптимизацию nginx были влиты немалые силы и написано он на C, а не на слабо-оптимизирующем языке с GC
Brommie
плюс еще инетресно почему так мало рпс - 900, при том что комп c i7
Roman
а вы пробовали? :)
зачем мне тратить на это время?) Вероятность того что написанный на Go сервер обгонет написанный на C сервер в который влились годы оптимизации - крайне низка.
Brommie
темплейты кешируете?
там нет темплейтов
Brommie
там нет темплейтов
просто хтмл, цсс, джс
Anonymous
там нет темплейтов
как статику выводит GO?
Sergei
нет смысла)))
ну нет так нет.
Brommie
как статику выводит GO?
вот так https://github.com/GeertJohan/go.rice
Roman
для статики и proxying'а берите Nginx, для application logic - Go
Anonymous
вот так https://github.com/GeertJohan/go.rice
понятно даже без кеша фаайлов наверняка ще и проверяет наличие файла на диске , кароче студенческий треш
Sergei
Вброс же, ну)
да ну какой вброс? нджинкс достаточно быстр для подавляющего большинства задач и _обычно_ он не является самым узким местом в связке. поэтому люди ошибочно считают, что нджинкс самый быстрый веб-сервер. к сожалению, это близко даже не так. просто мало кому нужно 500крпс с бокса сервить.
Anonymous
не понял)
чтоб сравнивать пишите сами ... и будете выигрывать, и будете знать все слабые места GO и сильные
Sergei
Зачем сравнивать заточенный инструмент и яп в котором в std lib есть из коробки http сервер. То, что он есть, не говорит, что он эффективнее будет, чем nginx.
но внезапно и не говорит, что медленнее. а сравнивать начал вовсе даже и не я, не стоит этот вопрос мне адресовать.
Sergei
дьявол в деталях начнет скрываться. написать на гошке отдавалку 404-к прямо из памяти такую, что она будет значительно быстрее нджинкса (без TLS) - как делать нефиг. если начать, например, читать 100к файлов параллельно со скоростью в 100 кбайт/с каждым - станет значительно интереснее и труднее.
Alexey
но внезапно и не говорит, что медленнее. а сравнивать начал вовсе даже и не я, не стоит этот вопрос мне адресовать.
Ну кому нужна скорость, выбирают что-то соответствующее. Да и никто в здравом уме не будет использовать его вместо nginx, если у вас конечно не пет прожект.
Sergei
А что такое скорость?
предел отношения перемещения ко времени при стремлении времени к нулю
Vladimir
Порошок
Ну я серьезно спросил. Что для тебя скорость веб сервера?
Alexey
Ну я серьезно спросил. Что для тебя скорость веб сервера?
Ну тут коллега статику решил отдавать и удивляется, что оно немного медленно работает.
Anonymous
Ну тут коллега статику решил отдавать и удивляется, что оно немного медленно работает.
оно у него работает медленно ... я на своем компе Апач обхожу в 2 раза на статике, с темплейтами кешируемыми в 1.5
Vladimir
Это не одномерное понятие
Vladimir
Alexey
Не ответ
Ну какой есть
Brommie
Не ответ
я не говорю что мне важна абсолютная скорость, конкретные рпс в секунду. Просто удивился что го медленнее чем nginx в отдаче статики (без темплейтов и тд)
Brommie
Brommie
это го
Vladimir
Впрочем без разницы
Brommie
Brommie
это нгинкс
Brommie
Скорость это не только рпс
а что же еще, если это про статику?
Vladimir
а что же еще, если это про статику?
Кому то важно tffb например
Vladimir
Кому то 99ый перцентиль времени ответа, или там 99.5ый
Brommie
Кому то важно tffb например
ну я конкретно по рпс заговорил)
Vladimir
Кому то рпс
Vladimir
Это многогранное понятие
Anonymous
а что же еще, если это про статику?
почему вы говорите GO если сравнивает треш написанный на GO?
Vladimir
ну я конкретно по рпс заговорил)
Ну так не тестируй для начала с помощью аб
Vladimir
Это моветон
Brommie
Это моветон
ну что знал то и заюзал)
Vladimir
Во вторых профайлер в руки и смотрите что там творится
Vladimir
ну что знал то и заюзал)
Изучи более работоспособные тулзы, типа vegeta, wrk и прочих
Brommie
почему вы говорите GO если сравнивает треш написанный на GO?
вот мне на выбор, свой костыль не охота писать, да и не нужно) просто поднял тему для холивара) https://tech.townsourced.com/post/embedding-static-files-in-go/
Roman
вот мне на выбор, свой костыль не охота писать, да и не нужно) просто поднял тему для холивара) https://tech.townsourced.com/post/embedding-static-files-in-go/
тут особо нечего обсуждать. nginx - не самый быстрый сервер и обогнать его на go вполне реально. сложнее соревноваться h2o или lwan
Roman
поможет
поможет побить nginx?)