Upload
cheyin-l
View
76
Download
1
Embed Size (px)
Citation preview
8
也就是說
Database (MySQL) Client
Application
Query Transport
Database (MySQL) Server
Database Engine
Storage Backend (Plug-ins)
Storage Device
10GbE192.168.13.11:3306
TCP/IP vs. UNIX Domain Socket
/var/run/mysqld/mysqld.sockIPC
較高速
9
那就來測試看看吧!
■ 前提● 資料庫主機軟硬體的條件一樣
● 應用程式占用的資源不會排擠資料庫■ 處理器時間■ 記憶體使用量■ 檔案系統或儲存設備的使用■ 網路頻寬的使用
■ 疑問● 網路存取與本機端存取是否有效能差異
10
測試方法
■ 多次執行取得主機時間的查詢
● SELECT NOW();
● 目的是排除儲存設備的影響
■ 使用不同連線方式測試執行時間
● 透過遠端主機 IP 連線
● 透過 127.0.0.1 連線本機資料庫
● 透過 UNIX Domain Socket 連線本機資料庫
MySQL AP MySQL AP MySQL AP
192.168.13.11:3306 127.0.0.1:3306 /var/run/mysqld/mysqld.sock
Source Code:https://goo.gl/n72bDR
11
測試結果
t-0250-1 t-0250-2 t-0250-3 t-0500-1 t-0500-2 t-0500-3 t-1000-1 t-1000-2 t-1000-30
0.05
0.1
0.15
0.2
0.25
0.3
0.35
0.4
remoteloopbackunix-domain
累計查詢使用時間 ( 秒;連續查詢 250, 500, 1000 次,各三次 )
12
測試結果 (cont.)將使用 TCP/IP 遠端連線的查詢時間減去使用 UNIX Domain Socket 的查詢時間 ( 秒 )
t-0250-1 t-0250-2 t-0250-3 t-0500-1 t-0500-2 t-0500-3 t-1000-1 t-1000-2 t-1000-30
0.05
0.1
0.15
0.2
0.25
0.00000
0.00005
0.00010
0.00015
0.00020
0.00025
0.00030
latency-diffavg-latency-diff
14
我覺得是這樣子啦 ...
■ 這只是一個簡單的測試● 並不是說塞在一起或是拆開比較好
■ 還是要看個別應用而定■ 拆開有很多拆法
● 網路的延遲其實蠻小的■ 但還是比 IPC 稍微長一點點
■ 針對應用去測可能會比較有意義
■ 資料庫主機跟應用程式拆開● 可以針對資料庫與應用程式特性配置硬體
● 資料庫或應用程式需要大量資源的話不會互相排擠
● 不過你會多一臺機器要養