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

以前介紹了經過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來測試上傳下載速率,就能夠很直觀的看到每一個節點,它去鏈接其餘節點時,上傳和下載的質量如何。固然機房的最終選擇還須要一些指標來考量,你們能夠根據實際狀況來取捨。
相關文章
相關標籤/搜索