ubuntu 测试Amazon RDS示例与外部服务器之间的连接延迟

oknrviil  于 2023-04-20  发布在  其他
关注(0)|答案(4)|浏览(160)

我需要测试位于我自己的数据中心中的服务器与Amazon RDS示例之间的连接。

time telnet <dns-of-my.instance> 3306

但它会跟踪从我发出命令到结束命令的时间,这是不相关的。
有没有什么方法可以衡量这一点?

kcrjzv8t

kcrjzv8t1#

我的回答并不假定ICMP ping是允许的,它使用基于TCP的措施。
首先,确保安装了一些有用的软件包

apt-get install netcat-openbsd traceroute

检查到数据库端口的基本连接是否正常。此示例用于Oracle,请确保从控制台使用端点和端口

nc -vz dev-fulfil.cvxzodonju67.eu-west-1.rds.amazonaws.com 1521

然后看看延迟是多少。你想要的数字是最后一个(第12步)

sudo tcptraceroute dev-fulfil.cvxzodonju67.eu-west-1.rds.amazonaws.com 1521

traceroute to dev-fulfil.cvxzodonju67.eu-west-1.rds.amazonaws.com (10.32.21.12), 30 hops max, 60 byte packets
 1  pc-0-3.ioppublishing.com (172.16.0.3)  0.691 ms  3.341 ms  3.400 ms
 2  10.100.101.1 (10.100.101.1)  0.839 ms  0.828 ms  0.811 ms
 3  xe-10-2-0-12265.lon-001-score-1-re1.interoute.net (194.150.1.229)  10.591 ms  10.608 ms  10.592 ms
 4  ae0-0.lon-001-score-2-re0.claranet.net (84.233.200.190)  10.575 ms  10.668 ms  10.668 ms
 5  ae2-0.lon-004-score-1-re0.claranet.net (84.233.200.186)  12.708 ms  12.734 ms  12.717 ms
 6  169.254.254.6 (169.254.254.6)  12.673 ms * *
 7  169.254.254.1 (169.254.254.1)  10.623 ms  10.642 ms  10.823 ms
 8  * * *
 9  * * *
10  * * *
11  * * *
12  * 10.32.21.12 (10.32.21.12) <syn,ack>  20.662 ms  21.305 ms

衡量“延迟”的更好方法可能是“一个典型的事务在没有数据传输或只有少量数据传输的情况下所花费的时间”。为此,编写一个脚本元素,在一个循环中执行此操作,可能执行1000次,然后使用高精度计时器对其计时。但具体细节会根据您的需要而有所不同

hs1ihplo

hs1ihplo2#

为查询计时。RDS必须承载SQL数据库服务器,因此向它发出一个简单的SQL查询并为执行计时。
例如,如果您的RDS示例是PostgreSQL,请使用psql连接并启用\timing
psql -h myhost -U myuser

postgres=> \timing
Timing is on.
postgres=> SELECT 1;
 ?column?
----------
        1
(1 row)

Time: 14.168 ms

本例中的延迟为14.168 ms。请参阅手册了解具体SQL Server实现的时间。

vddsk6oq

vddsk6oq3#

通常RDS示例不响应ICMP协议,所以我们可以使用TCP协议进行测试,测试前确保您的服务器IP在RDS防火墙的白色名单中。
所以我们可以使用hping3
Hping3是一个命令行数据包分析器,数据包制作器和测试工具,供网络管理员和渗透测试人员使用。

sudo apt-get install hping3

然后运行测试5次。

sudo hping3 -S -p <RDS-port> <RDS-endpoint> -c 5

示例:

ubuntu@ip-172-30-0-70:~$ sudo hping3 -S -p  3306 my.ap-northeast-1.rds.amazonaws.com -c 5
HPING my.ap-northeast-1.rds.amazonaws.com (ens5 54.95.xxx.xxx): S set, 40 headers + 0 data bytes
len=46 ip=54.95.xxx.xxx ttl=253 DF id=0 sport=3306 flags=SA seq=0 win=29200 rtt=3.8 ms
len=60 ip=54.95.xxx.xxx ttl=253 DF id=0 sport=3306 flags=SA seq=0 win=28960 rtt=0.0 ms
len=134 ip=54.95.xxx.xxx ttl=253 DF id=19591 sport=3306 flags=AP seq=0 win=227 rtt=0.0 ms
len=52 ip=54.95.xxx.xxx ttl=253 DF id=19592 sport=3306 flags=A seq=0 win=235 rtt=0.0 ms
len=63 ip=54.95.xxx.xxx ttl=253 DF id=19593 sport=3306 flags=AP seq=0 win=235 rtt=0.0 ms

--- my.ap-northeast-1.rds.amazonaws.com hping statistic ---
1 packets transmitted, 5 packets received, -400% packet loss
round-trip min/avg/max = 3.8/3.8/3.8 ms
brgchamk

brgchamk4#

使用ping。您需要enable ping on your EC2 instance per this answer
Ping将以毫秒为单位提供每次ping的时间:

ping 34.217.36.7
PING 34.217.36.7 (34.217.36.7): 56 data bytes
64 bytes from 34.217.36.7: icmp_seq=0 ttl=227 time=68.873 ms
64 bytes from 34.217.36.7: icmp_seq=1 ttl=227 time=68.842 ms
64 bytes from 34.217.36.7: icmp_seq=2 ttl=227 time=68.959 ms
64 bytes from 34.217.36.7: icmp_seq=3 ttl=227 time=69.053 ms

相关问题