我曾经使用过AWS EC2来部署一个Python应用程序,该应用程序使用来自Apache Kafka的数据。最近几天,我发现当传入数据变大时,CPU的窃取时间将变得太高(大约35%)。
使用的EC2实例是t2.medium,2个CPU和4G内存。任何人都可以告诉我为什么会发生这种情况,有什么办法可以避免这种情况。
如果不查看您的应用程序和指标,就很难发表评论。我的猜测是,T2实例为:burstable performance instances
在正常情况下,它们提供基准CPU性能。但是,当负载增加时,突发性能实例将爆发,这意味着提高CPU性能。
CPU Credit
告诉实例中的CPU突发数量。您可以花费此CPU积分来提高Burst期间的CPU性能。
当您用不完CPU额度时,它会降低整体性能,而不仅是防止您爆裂性能。实际上,您将观察到将近90%的CPU窃用时间,这意味着当您的信用额度不足时,系统管理程序将不允许您的实例进入CPU。您可以查看更多http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/t2-instances.html#t2-instances-cpu-credits
希望这可以帮助。