測試機房質量之上傳下載速率測試

 測試機房質量之上傳下載速率測試

之前介紹了通過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來測試上傳下載速率,就可以很直觀的看到每個節點,它去連接其他節點時,上傳和下載的質量如何。當然機房的最終選擇還需要一些指標來考量,大家可以根據實際情況來取捨。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章