Достаточно ли экземпляра t2.micro для выборки сотен тысяч строк? - PullRequest
0 голосов
/ 15 февраля 2020

Недавно я разместил API на AWS Elasti c Beanstalk со свободным уровнем, я вставил 6 миллионов строк. Но я не могу последовательно получать данные (обычно около 200 тыс. За раз). Иногда я могу получить около 100 КБ, обычно я получаю сообщение об ошибке:

SyntaxError: Неожиданный конец ввода JSON на http: //***********.us- east-2.elasticbeanstalk.com/

или:

SyntaxError: неожиданный токен

, который означает, что он извлекает строку HTML. Я вставил одну фальшивую строку и попытался извлечь ее, и я могу ее последовательно получать.

Прав ли я, предполагая, что уровня бесплатного доступа просто недостаточно?

Ответы [ 2 ]

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

Бесплатный уровень AWS - это просто биллинговая скидка. Это не влияет на сервисы.

Однако использование t2.micro оказывает влияние на пропускную способность сети и загрузку ЦП. См .: Экземпляры производительности Burstable - Amazon EC2

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

Если вы готовы потратить несколько центов, вы можете временно увеличьте размер экземпляра (например, t2.large или m5.large) и посмотрите, улучшит ли он ситуацию.

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

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

Проверьте также метрики производительности тома EBS.

После мониторинга вы можете попробовать и измените размер экземпляра, так как AWS дает гибкость для изменения размера экземпляра и семейства.

...