如何知道NAT实例是否成为瓶颈?

我正在AWS VPC内运行我自己的NAT实例。 我想确保NAT实例不会成为瓶颈,为此我想设置自己的扩展时间(如果有的话)的期望。

我知道实例types (当前是m1.medium,如果重要的话)是一个重要的方面,但是想知道如何检查NAT实例是否已经达到最大值,以及是否可以达到更好的吞吐量如果其中一些机器正在使用不同的NAT实例,则表示VPC中的机器。

它通过一个非常简单的iptables指令进行NAT转换,如下所示:

$ iptables --table nat --list Chain POSTROUTING (policy ACCEPT) target prot opt source destination MASQUERADE all -- 10.0.0.0/16 anywhere 

它有两个瓶颈:CPU和带宽。 监控CPU应该很简单,并且很容易知道什么时候达到了极限。 带宽应该是简单的监控,但更难以分辨何时达到极限,因为EC2并不能保证一定的networking带宽。 你可以做一些带宽testing,并从中推断出一个限制。

无论如何,networking问题将以TCP重传的forms显示在客户端上。 在所有的客户端上监控这个会告诉你什么时候出现问题,但不一定是你的NAT实例还是其他的。