冲着AWS的名头,从最开始就用的EC2,推荐用的t类型的instance。AWS的文档太多太长,推荐用哪个就用哪个。测试,使用,一直都好好的。 : s5 X% [" b5 h) o' R. P ) f ~: j7 ]& M [0 ~, e$ ?- q7 w结果突然一天,服务器卡死了。以为是我们算法问题,各种查找。后来发现AWS有credit机制。比如给你的机器是2GHz的,但只是名义上的,其实给你的只是其中的一部分,比如说30%,也就是600MHz。如果你用的低于这个,给你credit(有封顶100),高于这个,就要消费credit。当credit为0了,就要卡你性能了,服务器就慢的受不了了。0 G$ E% g( s1 U* G
' p8 w1 W. L- J* S# E* f; u" V" _0 }3 o开通花钱买credit的服务,暂时缓解了问题。后来就彻底抛弃了t类型,使用其他没有burst机制的类型,比如m。虽然贵,但是用着放心。 ' |! h* q) B: b* p6 M5 J' n' P' W3 Z 2 D; {6 f/ X$ M2 B去年给系统架构解耦,把数据库转移到了RDS。吃一堑长一智,特意不能选t类型,各种检查,没问题,转过去了。转过去就发现有坑了。他虽然不限制CPU了,但是给IO搞了一个类似的机制,还没的选,也没法花钱买credit。有一个服务reserve一定的IOPS,但是巨贵,而且IOPS不高。唯一的方法,是他的credit计算和你用的Disk大小相关,你提高硬盘空间,IOPS会提高一点点。所以我数据库就30G左右,一次次的提高到了500G。而且很坑爹的是,他的credit上限100太低里。我一天就晚上用三四个小时,别的时候基本用的很少,但是credit都浪费了,到晚上很快100 credit就花光了。他的上限如果是200或者300,我的满够用的。2 H& B0 I5 s0 X: q' e
Y g5 X+ V y4 ^最近一年优惠期满了,价格涨了60%!nnd,逼着我放弃啊。转回去,自己搭建数据库! ( R/ [* F1 s. }0 ^ {+ I/ H- z) u! o6 Z; ^
4 l q& h. }, c4 K' n# d q