冲着AWS的名头,从最开始就用的EC2,推荐用的t类型的instance。AWS的文档太多太长,推荐用哪个就用哪个。测试,使用,一直都好好的。 9 F' K! H3 t3 M5 Q, p' \+ ~ I) g/ V5 e6 c2 \/ D" p* S+ M
结果突然一天,服务器卡死了。以为是我们算法问题,各种查找。后来发现AWS有credit机制。比如给你的机器是2GHz的,但只是名义上的,其实给你的只是其中的一部分,比如说30%,也就是600MHz。如果你用的低于这个,给你credit(有封顶100),高于这个,就要消费credit。当credit为0了,就要卡你性能了,服务器就慢的受不了了。; d% ]0 ?2 }* `: r
* N: P4 @. z! G* J& F开通花钱买credit的服务,暂时缓解了问题。后来就彻底抛弃了t类型,使用其他没有burst机制的类型,比如m。虽然贵,但是用着放心。 # O/ ?5 `# L0 k! Q1 j# c, T5 O0 ~3 d# K
去年给系统架构解耦,把数据库转移到了RDS。吃一堑长一智,特意不能选t类型,各种检查,没问题,转过去了。转过去就发现有坑了。他虽然不限制CPU了,但是给IO搞了一个类似的机制,还没的选,也没法花钱买credit。有一个服务reserve一定的IOPS,但是巨贵,而且IOPS不高。唯一的方法,是他的credit计算和你用的Disk大小相关,你提高硬盘空间,IOPS会提高一点点。所以我数据库就30G左右,一次次的提高到了500G。而且很坑爹的是,他的credit上限100太低里。我一天就晚上用三四个小时,别的时候基本用的很少,但是credit都浪费了,到晚上很快100 credit就花光了。他的上限如果是200或者300,我的满够用的。 # n6 }& r1 g" i( N3 A% |- j3 v* |- W( H3 x9 U( a+ F: C; S
最近一年优惠期满了,价格涨了60%!nnd,逼着我放弃啊。转回去,自己搭建数据库! ( O+ n) B# a! |2 Z" b " I, G. q6 M! X# F ' y8 s$ @. W3 r; T6 N( n; S 4 E( ]& `: j# c7 s- S ! |& ^7 M( d$ x1 n. N
' _1 s, f) [/ H. r
我们自己搞服务器主要问题是网络,怕不稳定。否则自己的服务器性能秒杀AWS。5 I: k. v( x6 K I) e! q. Z
2 A# y6 G* O4 p+ W B3 C
你把计算放在本地,DB放在AWS,或者反过来也不成,AWS对外部流量要额外收费。每天大量DB访问,不考虑延迟,费用也少不了。