AWS увеличивают iops
Я никогда раньше не использовал AWS и создал php-приложение, размещенное на экземпляре EC2.
Приложение вставляет записи в RDS после их обработки. На бесплатном уровне он вставляет их со скоростью около 10 записей в секунду.
Как мне улучшить скорость, с которой происходит этот процесс? Я добавил 100 ГБ выделенного хранилища IOPS с пределом 1000 iops.
Однако, когда я запускаю свое приложение, я получаю ту же скорость, что и раньше.
Какие спецификации для экземпляра Ec2 и экземпляров RDS будут определять, как быстро он будет записывать в базу данных?
2 ответа
Если экземпляры EC2 и RDS находятся в одной и той же области, вы можете получить немного большую производительность, если увеличите спецификацию RDS, но в целом MySQL не так быстро работает при записи, особенно если добавить в таблицу больше индексов.
Вы можете получить более высокую производительность, группируя вставки в запросе вместо того, чтобы делать их по отдельности, например
INSERT INTO users (name, gender) VALUES
('bob', 'm'),
('jane', 'f')
Это может быть проще, если вы используете какую-либо систему очередей, такую как SQS или эластичную боль, для записи в память и асинхронной вставки их в пакет.
Принять к сведению
Экземпляр бесплатного уровня AWS предназначен только для случайного использования. t2.micro работает в пакетном режиме "Кредит процессора". Как только вы исчерпаете эти кредиты ЦП, сервер перейдет на ЦП более чем на 25%, что приведет к снижению производительности.
Вы должны потратить немного денег на cloudwatch, чтобы посылать информацию RDS IOPS, чтобы узнать, что является реальными проблемами, например, чтобы выяснить, являются ли это проблемами с процессором, RAM или IO.
AWS уже давно представляет SSD-хранилище gp2. Таким образом, вы должны использовать механизм AWS на ГБ x 3 IOPS, а не переходить прямо к Provisioned IOPS. В этой статье рассказывается, почему вы должны использовать избыточное хранилище gp2, чем использовать подготовленные IOPS. Вы также получаете дополнительное соотношение цены и качества с gp2 с разрывом ввода-вывода.