我以前從未使用過AWS,並創建了一個託管在EC2實例上的php應用程序。AWS增加iops
應用程序在處理它們後將記錄插入到RDS中。在免費的階段,它以每秒10個記錄的速度插入它們。
我該如何去改善這個過程發生的速度?我已經添加了100GB配置的IOPS存儲,限額爲1000個iops。
但是,當我運行我的應用程序時,我獲得了與以前相同的速度。
關於Ec2實例和RDS實例的規格將決定它將寫入數據庫的速度有多快?
我以前從未使用過AWS,並創建了一個託管在EC2實例上的php應用程序。AWS增加iops
應用程序在處理它們後將記錄插入到RDS中。在免費的階段,它以每秒10個記錄的速度插入它們。
我該如何去改善這個過程發生的速度?我已經添加了100GB配置的IOPS存儲,限額爲1000個iops。
但是,當我運行我的應用程序時,我獲得了與以前相同的速度。
關於Ec2實例和RDS實例的規格將決定它將寫入數據庫的速度有多快?
提供EC2和RDS實例在同一個區域,您可以通過增加RDS規範來獲得更高的性能,但通常MySQL的寫入速度並不是那麼快,特別是在向表中添加更多索引時。
您可以通過在查詢中批量插入代碼而不是單獨執行它們來獲得更好的性能,例如,
INSERT INTO users (name, gender) VALUES
('bob', 'm'),
('jane', 'f')
如果使用某種像SQS或elasticache排隊系統的寫入到內存中,並在批量插入異步他們這可能是更容易。
請注意
AWS免費層實例僅僅意味着隨意使用。 t2.micro正在「CPU信用」突發模式下運行。一旦用完了這些CPU信用,服務器就會扼殺25%以上的CPU,因此你的性能將受到影響。
您應該投入一點時間在Cloudwatch上發送RDS IOPS信息以瞭解真正的問題,例如,找出它是CPU,RAM還是IO問題。
AWS在相當長一段時間內引入了SSD gp2存儲。因此,您應該使用AWS每GB x 3 IOPS機制,而不是直接跳入預置IOPS。 這篇文章告訴你why you should over provisioned gp2 storage than use provisioned IOPS。 gp2與突發IO也可以獲得額外的價值。
預設IOPS對於磁盤時代是指平均值。首先使用gp2並保持100GB磁盤空間(即100 x 3 = 300 IOPS)。 – mootmoot