185 похожих чатов

Запустил с четырех SSH-сессий вот этот скрипт (т.е. 4 экземпляра) #!/bin/bash for

i in {1..1000000}
do
curl localhost:8080/health?uptime=isodate
done


В обработчике Vapor выполняется такой код:

res.headers.replaceOrAdd(name: "X-Stats-Uptime", value: statsService.getUptime(type))


В statsService.getUptime() выполняется такой код:

let date = Date(timeIntervalSinceReferenceDate: bootTime)
return "since \(DateFormatter.iso8601ShortUTCZ.string(from: date))"

т.е. задействуется глобально определенный DateFormatter.
Вот он:

static let iso8601ShortUTCZ: DateFormatter = {
let formatter = DateFormatter()
formatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ss'Z"
formatter.calendar = Calendar(identifier: .iso8601)
formatter.timeZone = TimeZone(secondsFromGMT: 0)
formatter.locale = Locale(identifier: "en_US_POSIX")
return formatter
}()

По выдаче htop видно, что CPU 100%, причем оба процесса Vapor загружены примерно равномерно. Т.е. используются оба ядра. Никаких проблем, крашей, в логе чисто. Единственное — перестал срабатывать VaporCron.

13 ответов

39 просмотров

у них там в примере не крешилось, а строка портилась (становилась другой длины от ожидаемой)

Alex-Sherbakov Автор вопроса
Andrey
у них там в примере не крешилось, а строка портила...

У них — да. Но я их код тоже крутил, выше писал — ничего.

Alex Sherbakov
У них — да. Но я их код тоже крутил, выше писал — ...

Я бы сказал что лучше перестраховаться. У нас 10 микросервисов и падал только 1 причем падал когда с фронта приходило сразу 2 запроса с разницей в миллисекунды. Фронт конечно решил эту проблему со своей стороны но мы перестраховались и сделали постоянную инициализацию форматера

Alex-Sherbakov Автор вопроса
ROST 🇺🇦🇩🇪
Я бы сказал что лучше перестраховаться. У нас 10 м...

О, соломки подстелить — это наше ффсё. По я пока не знаю, какую именно именно можно подстелить, особо не не влезая в код. Поразбираюсь с локами сейчас.

Alex Sherbakov
О, соломки подстелить — это наше ффсё. По я пока н...

диспатч в мейн или выделить для него свою очередь

Alex Sherbakov
https://t.me/server_side_swift/81170

Только что проверил на дедике (Ryzen 3600x), завершается успешно

Alex-Sherbakov Автор вопроса

А ты уверен что у тебя цикл тут не дожидается результата прежде чем отправить следующий запрос?

Alex-Sherbakov Автор вопроса
ROST 🇺🇦🇩🇪
А ты уверен что у тебя цикл тут не дожидается резу...

Конечно дожидается. Но их 4 штуки. А ядер только 2.

Alex Sherbakov
Конечно дожидается. Но их 4 штуки. А ядер только 2...

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

Похожие вопросы

Обсуждают сегодня

30500 за редактор? )
Владимир
47
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
вы делали что-то подобное и как? может есть либы готовые? увидел картинку нокода, где всё линиями соединено и стало интересно попробовать то же в ddl на lua сделать. решил с ч...
Victor
8
Подскажите пожалуйста, как в CustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean); получить наз...
A Z
7
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Раз начали говорить про embassy, то присоединюсь со своими парой вопросов. 1) Есть ли сопоставимые аналоги для асинхронного кода в emdebbed? 2) Можно ли внутри задач embassy ...
NI_isx
6
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
1
Он в одиночку это дело запилил или была какая-то команда?
Aquinary
12
~ 2m21s  nix shell github:nixos/nixpkgs#stack ~  stack ghc -- --version error: … while calling the 'derivationStrict' builtin at /builtin/derivation.nix:...
Rebuild your mind.
6
Карта сайта