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 ответов

19 просмотров

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

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

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

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

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

Alex-Sherbakov Автор вопроса
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...

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

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

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

подскажите пожалуйста, как мне освободить результат записанный в переменную result? в чем проблема подскажите если МОЖЕТЕ?
Михаил Helper
28
есть тут кто-то , кто только начал изучать си? если проходите курс на степике или как-то сами изучаете, пишите, может, скооперируемся?..
Eule
25
Скажите, тут нет проблемы? IMyInterface1 = interface function GetInterface2: IInterface2; ... function TMyInterface.GetInterface2: IInterface2; begin Result := TI...
Ruslan aka DUDE
18
Добрый день. Абракадабра в 12-й студии ввела новый тип поля БД TSQLTimeStampOffset, использую в постгресе timestampz и вот с 12-й версии начались чудеса! До этого поля times...
Delphi Photo
9
Коллеги, здравствуйте! А можно узнать ваше мнение относительно Wolfram Mathematica vs Julia? Просто у меня стоит выбор между тем, чтобы продолжить преподавать Wolfram Mathemat...
Илья Гаража
10
Обновленный chat тестили уже господа? Готовимся на заводы ? Простой проект на ларавель собирает за 1 ответ..
Jacov Borisov
14
А если без шуток, на чем десктоп сейчас пишут кроссплатформенный (ну чтобы с минимальным допиливанием под каждую платформу) и чтобы хорошая производительность софта была. Толь...
🐈
9
я не магистр хаскеля, но разве не может лейзи тип конвертнуться в не-лейзи запросив вычисление содержимого прям при инициализации?
deadgnom32 λ madao
100
кому не сложно распишите пожалуйста для какой цели тут вот эти скобки и в них пихается указатель?
Михаил Helper
15
На одной бирже предложили обновить modx evo 1.0.1 Как думаете, стоит браться?
Artem
9
Карта сайта