测试机房质量之上传下载速率测试

以前介绍了经过Ping值来测试机房质量,但这仅仅是测试的一部分。咱们想要考察机房是否符合本身的业务需求,它的线路状况好很差,稳定不稳定,则仍是须要测试它的上传下载速率状况。
因为前面的文章我有介绍虚拟用户的vsftp部署,在这里正好能够用上,咱们就用FTP来进行测试,而vsftp的日志里面的信息足以概括出咱们想要的结果。首先咱们来根据一个基本的环境来作测试前的准备工做。假设咱们全国选了10个机房,这些工做多是要在每一个机房提供的测试服务器上都要作的。
1. 创建 500M 测试文件
admin用户来测试。
ftpadmin用户的家目录下建立 500M 文件
dd if=/dev/zero of=/home/ftpsite/admin/bigfile bs= 1M count=500
 
2. 建立脚本(你们能够根据本身的状况修改)
vi lftpshell
#!/bin/bash
ftp_server="192.168.18.9"  # 目的Ftpserver IP地址
username="admin"  # 用户名
password="1"       # 密码
download_file_name=""  # 要下载的文件名
lftp <<!
open ftp://${ftp_server} -p 21 -u ${username},${password}   # -p 制定端口,和你ftp监听的端口保持一致
lcd /root/  # 本地目录
#mput a b
get $download_file_name   
rm -f $download_file_name  
put $download_file_name  
exit
!
rm -f "/root/ ${download_file_name}"  # 删除从ftp上下载到本地目录的文件
3. 设置到crontab中自动运行
vi /etc/crontab
编辑crontab,加入
0 */1 * * * root sh /root/software/lftpshell  # 表示每隔一小时,在整点钟运行 lftpshell 脚本。
 
4. 定时查看ftp日志文件
more /var/log/vsftpd.log
 
 
 网通,电信FTP互测
    在测试中咱们可能会遇到这样的问题,例如咱们在测试北京网通的一个机房时,咱们会让他去全国各个咱们选择的待测机房节点去上传和下载咱们事先建立好的测试文件。这样就可能出现一个问题,好比咱们的测试文件大小是 1000M ,咱们的测试周期为一小时,也就是每隔一小时会测不一样的机房,这时候你会发现,网通连网通的时候,这个 1000M 的测试文件可能10分钟就上传或下载完了,而网络连电信的时候即便1个小时的时间也未必能完成测试过程,这样就会影响了链接下一个机房的测试,从而使整个测试出现混乱,因此咱们要针对这种状况作一些修改。
1.      创建测试文件
admin用户来测试。
为了不跨网链接时速率较慢,上传和下载测试文件分别分为两个来建立
1.1 建立用于下载的文件(ftp服务器端建立)
ftpadmin用户的家目录下建立 1000M 文件(用于电信连电信或网通连网通时所要下载的)
dd if=/dev/zero of=/home/ftpsite/admin/test.txt bs= 100M count=10
再建立一个 10M 的文件(用于电信连网通或网通连电信时所要下载的)
dd if=/dev/zero of=/home/ftpsite/admin/test1.txt bs= 1M count=10
1.2  建立用于上传的文件(能够任意指定目录,最后和脚本中的本地目录对应便可,在ftp客户端建立)
root家目录下建立 1000M 文件(用于电信连电信或网通连网通时所要上传的)
dd if=/dev/zero of=/root/hello.txt bs= 100M count=10
再建立一个 10M 的文件(用于电信连网通或网通连电信时所要上传的)
d dd if=/dev/zero of=/root/hello1.txt bs= 1M count=10
 
2. 建立脚本
这里以电信IDC上的脚本为例
vi lftpshell_dianxin  (用于链接电信服务器的脚本)
#!/bin/bash
ftp_server="192.168.18.9"  # 目的Ftpserver IP地址
username="admin"  # 用户名
password="1"       # 密码
download_file_name="test.txt"  # 要下载的文件名( 1000M 的)
upload_file_name="hello.txt" # 要上传的文件名 1000M 的)
lftp <<!
open ftp://${ftp_server} -p 21 -u ${username},${password}   # -p 制定端口,和你ftp监听的端口保持一致
lcd /root/   # 本地目录
#mput a b
get $download_file_name    # 下载指定文件
put $ upload_file_name      # 上传指定文件
rm -f $ upload_file_name     # 最后删除上传后的文件
exit
!
rm -f "/root/ ${download_file_name}"  # 删除从ftp上下载到本地目录的文件
 
 
 
vi lftpshell_wangtong  (用于链接网通服务器的脚本)
#!/bin/bash
ftp_server="192.168.18.7"  # 目的Ftpserver IP地址
username="admin"  # 用户名
password="1"       # 密码
download_file_name="test1.txt"  # 要下载的文件名 10M 的)
upload_file_name="hello1.txt" # 要上传的文件名 10M 的)
lftp <<!
open ftp://${ftp_server} -p 21 -u ${username},${password}   # -p 制定端口,和你ftp监听的端口保持一致
lcd /root/   # 本地目录
#mput a b
get $download_file_name    # 下载指定文件
put $ upload_file_name      # 上传指定文件
rm -f $ upload_file_name     # 最后删除上传后的文件
exit
!
rm -f "/root/ ${download_file_name}"  # 删除从ftp上下载到本地目录的文件
 
3. 设置到crontab中自动运行
vi /etc/crontab
编辑crontab,加入
0 */1 * * * root sh /root/software/lftpshell_dianxin  # 表示每隔一小时,在整点钟运行 lftpshell_dianxin 脚本。
30 */1 * * * root sh /root/software/lftpshell_wangtong  # 表示每隔一小时,在半点钟运行lftpshell_wangtong 脚本。
 
 
 
网通,电信FTP互测(匿名登陆)
固然也不须要非得用虚拟用户的vsftp,咱们用匿名的FTP也能够测试,你们能够根据状况来本身选择,下面就来介绍一下:
1.      yum安装vsftp
yum install vsftpd
 
2.      配置匿名FTP
vi /etc/vsftpd/vsftpd.conf
修改配置文件
anonymous_enable=YES
local_enable=YES
write_enable=YES
local_umask=022
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_file=/var/log/vsftpd.log
xferlog_std_format=YES
listen=YES
pasv_min_port=50000
pasv_max_port=60000
pasv_enable=yes
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES
dual_log_enable=YES
vsftpd_log_file=/var/log/vsftpd.log
ftp_username=ftp
 
vi /etc/sysconfig/iptables
添加:
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT # 21是监听端口,在vsftpd.conf中设置的listen [端口]对应
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 50000:60000 -j ACCEPT #传输数据用50000----60000之间的端口 vsftpd.conf中的pasv_min_port=50000 pasv_max_port=60000 对应
重启iptables
 
3.      创建服务器端测试文件
匿名登陆默认目录是/var/ftp/,为了提供上传权限需进入pub目录下建立测试文件,由于默认/var/ftp/目录没有上传权限
3.1 建立用于下载的文件(ftp服务器端建立)
/var/ftp/pub/下建立 1000M 文件(用于电信连电信或网通连网通时所要下载的)
dd if=/dev/zero of=/var/ftp/pub/admin/test.txt bs= 100M count=10
再建立一个 10M 的文件(用于电信连网通或网通连电信时所要下载的)
dd if=/dev/zero of=/var/ftp/pub/admin/test1.txt bs= 1M count=10
 
4.      创建匿名ftp脚本
#!/bin/bash
ftp_server="121.14.34.52"    
username="ftp" # 用户名为ftp
password="" # 密码为空
download_file_name="test.txt"
upload_file_name="hello.txt"
lftp <<!
open ftp://${ftp_server} -p 21 -u ${username},${password}
lcd /root/ 
cd pub # 进入pub目录下
#mput a b
get $download_file_name
put $upload_file_name
rm -f $upload_file_name
exit
!
rm -f "/root/${download_file_name}"
    这样经过FTP来测试上传下载速率,就能够很直观的看到每一个节点,它去链接其余节点时,上传和下载的质量如何。固然机房的最终选择还须要一些指标来考量,你们能够根据实际状况来取舍。
相关文章
相关标签/搜索