AWS EC2 Объяснение производительности - PullRequest
0 голосов
/ 15 февраля 2020

У меня есть веб-сервер API REST, встроенный в .NetCore, с API-интерфейсами, насыщенными данными.

Он размещен на AWS EC2. Я заметил, что среднее время ответа для некоторых API-интерфейсов ~ 4 секунды, и если я включу спецификации AWS -EC2, время отклика снизится до нескольких миллисекунд. Я предполагаю, что это ожидаемо, но я не понимаю, что даже когда я загружаю тестирование API на более низком процессоре, сервер никогда не пересекает 50% использования памяти / процессора. Так что же является правильным техническим объяснением, которое заставляет API работать быстрее, если нижний ЦП никогда не достигает 100% использования памяти / ЦП?

1 Ответ

2 голосов
/ 15 февраля 2020

Простого ответа не существует, существует так много вариантов ec2, что вам необходимо сначала выяснить, что замедляет работу вашего API.

Когда вы «включаете» свой экземпляр ec2, вы получаете некоторую комбинацию больше памяти, более быстрый процессор, более быстрый диск и большая пропускная способность сети - и мы не можем сказать, какая из этих «дополнительных» функций улучшает вашу производительность. Разные классы экземпляров оптимизированы для разных задач.

Это может быть просто, так как лучшая пропускная способность сети или ваше приложение привязано к диску, а выбранный вами лучший экземпляр оптимизирован для производительности ввода-вывода. .

В зависимости от того, какой функции не хватает вашему экземпляру, это поможет вам решить, какой тип экземпляра обновлять до - или, как вы выяснили, просто обновиться до чего-то «большего» и быть довольным производительностью ( в обмен на то, чтобы быть более дорогим).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...