背景
現有儲存無法滿足發展需要,選擇多個儲存提供商進行比對,最終選擇最佳方案。
分布式儲存簡介
分布式儲存系統一般是由多個伺服器、網路裝置和很多儲存介質組成。即使在手動部署測試環境的時候,所涉及的系統架構也會是比較複雜的。
在測試前,需要根據不同的測試型別採用不同的硬體裝置。譬如硬碟的規格(sata盤還是ssd盤),記憶體規格,以及不同的網路型別(tcp/ip,fc,rdma)等。
測試過程
運維:通過fio和iometer進行塊檔案(4k,4m,512k)分層測試,比對iops和mbps。
fio使用方法:
100%隨機,100%讀, 4k
fio -filename=/dev/emcpowerb -direct=1 -iodepth 1 -thread -rw=randread -ioengine=psync -bs=4k -size=1000g -numjobs=50 -runtime=180 -group_reporting -name=rand_100read_4k
100%隨機,100%寫, 4k
fio -filename=/dev/emcpowerb -direct=1 -iodepth 1 -thread -rw=randwrite -ioengine=psync -bs=4k -size=1000g -numjobs=50 -runtime=180 -group_reporting -name=rand_100write_4k
100%順序,100%讀 ,4k
fio -filename=/dev/emcpowerb -direct=1 -iodepth 1 -thread -rw=read -ioengine=psync -bs=4k -size=1000g -numjobs=50 -runtime=180 -group_reporting -name=sqe_100read_4k
100%順序,100%寫 ,4k
fio -filename=/dev/emcpowerb -direct=1 -iodepth 1 -thread -rw=write -ioengine=psync -bs=4k -size=1000g -numjobs=50 -runtime=180 -group_reporting -name=sqe_100write_4k
100%隨機,70%讀,30%寫 4k
fio -filename=/dev/emcpowerb -direct=1 -iodepth 1 -thread -rw=randrw -rwmixread=70 -ioengine=psync -bs=4k -size=1000g -numjobs=50 -runtime=180 -group_reporting -name=randrw_70read_4k
測試方法:
1.根據公司業務需求,多節點併發至儲存(jmeter),觀察儲存的iops、mbps,cpu等資料資訊(運維監控工具),整理資料給儲存提供商進行調優。
2.大小檔案的拷貝測試(robecopy命令發至儲存伺服器),5g小檔案和20g大檔案拷貝,觀察儲存的iops、mbps,cpu等資料資訊,整理資料給儲存提供商進行調優。
ssd調優:
1.調整網絡卡大小
2.cpu配置調優
3.配置fs-cache
分布式調優:
1.單機頭多機頭,根據業務需求配置
mysql儲存引擎簡析
innodb 具有提交 回滾和崩潰恢復能力的事務安全 支援外來鍵。使用mvcc 以及行鎖來提供事務支援,因此支援高併發。適用於寫頻繁,併發率高的應用。myisam 不支援事務和災難自動恢復,但其訪問速度快,支援全文索引,對事務完整性沒有要求。通常用於讀頻繁的資料庫,如資料倉儲等。memory 使用存...
簡析結構體儲存分配
結構與陣列類似,但是兩者之間存在著很大的差別。陣列是通過下標進行訪問,而結構是通過其成員的名字進行訪問的。其次結構體內部成員更加靈活,那麼結構體在記憶體中的儲存是怎麼分配的?來看下面 include struct s1 struct s2 int main 程式執行結果為 關於這段 中的結構體內存分...
strtok函式簡析
官方的strtok函式,用來通過分隔字元 不支援字串,傳入的串中每個字元單獨當分隔符,如下例子組合的如123會處理1而23會被跳過 返回分隔的串的首位址 比如呼叫strtok abc123def 123456 返回值是指向abc的指標 下次要獲得 def 需要呼叫strtok null,123456...