MySQL —— Atlas 使用

配置:mysql

        Centos 6.6 minimal
sql

        CPU:    E5 - 2620 x 2shell

        Mem:   64G 
後端

        Disk :   1T
安全

內核配置以下:
服務器

[root@server1 ~]# sysctl -p
net.ipv4.ip_forward = 0
net.ipv4.conf.default.rp_filter = 1
net.ipv4.conf.default.accept_source_route = 0
kernel.sysrq = 0
kernel.core_uses_pid = 1
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_fin_timeout = 50
net.ipv4.tcp_keepalive_time = 1200
net.ipv4.tcp_mem = 94500000 915000000 927000000
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_timestamps = 0
net.ipv4.tcp_syn_retries = 1
net.ipv4.tcp_tw_recycle = 1
net.core.rmem_max = 16777216
net.core.wmem_max = 16777216
net.core.netdev_max_backlog = 262144
net.core.somaxconn = 262144
net.ipv4.tcp_max_orphans = 3276800
net.ipv4.tcp_max_syn_backlog = 262144
net.core.wmem_default = 8388608
net.core.rmem_default = 8388608
net.bridge.bridge-nf-call-ip6tables = 0
net.bridge.bridge-nf-call-iptables = 0
net.bridge.bridge-nf-call-arptables = 0
kernel.msgmnb = 65536
kernel.msgmax = 65536
kernel.shmmax = 68719476736
kernel.shmall = 4294967296
net.ipv4.tcp_synack_retries = 3
net.ipv4.ip_local_port_range = 1024 65000
net.ipv4.tcp_rmem = 4096 4096 16777216
net.ipv4.tcp_wmem = 4096 4096 16777216
fs.file-max = 65535
[root@server1 ~]#


Atlas 安裝路徑 :/usr/local/mysql-proxycookie

Atlas 配置以下:網絡

        

[mysql-proxy]

#帶#號的爲非必需的配置項目

#管理接口的用戶名
admin-username = admin	

#管理接口的密碼
admin-password = admin

#Atlas後端鏈接的MySQL主庫的IP和端口,可設置多項,用逗號分隔
proxy-backend-addresses = 10.10.10.1:3306

#Atlas後端鏈接的MySQL從庫的IP和端口,@後面的數字表明權重,用來做負載均衡,若省略則默認爲1,可設置多項,用逗號分隔
proxy-read-only-backend-addresses = 10.10.10.2:3306@2,10.10.10.3:3306@1
#主庫:10.10.10.1
#從庫:10.10.10.2 、10.10.10.3
#用戶名與其對應的加密過的MySQL密碼,密碼使用PREFIX/bin目錄下的加密程序encrypt加密,下行的user1和user2爲示例,將其替換爲你的MySQL的用戶名和加密密碼!
pwds = root:CmzTQ3dAQ-VU3z0J1zByMQ==

#設置Atlas的運行方式,設爲true時爲守護進程方式,設爲false時爲前臺方式,通常開發調試時設爲false,線上運行時設爲true,true後面不能有空格。
daemon = true

#設置Atlas的運行方式,設爲true時Atlas會啓動兩個進程,一個爲monitor,一個爲worker,monitor在worker意外退出後會自動將其重啓,設爲false時只有worker,沒有monitor,通常開發調試時設爲false,線上運行時設爲true,true後面不能有空格。
keepalive = true

#工做線程數,對Atlas的性能有很大影響,可根據狀況適當設置
event-threads = 48

#日誌級別,分爲message、warning、critical、error、debug五個級別
log-level = message 

#日誌存放的路徑
log-path = /usr/local/mysql-proxy/log

#SQL日誌的開關,可設置爲OFF、ON、REALTIME,OFF表明不記錄SQL日誌,ON表明記錄SQL日誌,REALTIME表明記錄SQL日誌且實時寫入磁盤,默認爲OFF
#sql-log = ON

#慢日誌輸出設置。當設置了該參數時,則日誌只輸出執行時間超過sql-log-slow(單位:ms)的日誌記錄。不設置該參數則輸出所有日誌。
#sql-log-slow = 10000

#實例名稱,用於同一臺機器上多個Atlas實例間的區分
#instance = test

#Atlas監聽的工做接口IP和端口
proxy-address = 10.10.10.254

#Atlas監聽的管理接口IP和端口
admin-address = 127.0.0.1:2345

#分表設置,此例中person爲庫名,mt爲表名,id爲分表字段,3爲子表數量,可設置多項,以逗號分隔,若不分表則不須要設置該項
#tables = person.mt.id.3

#默認字符集,設置該項後客戶端再也不須要執行SET NAMES語句
#charset = utf8

#容許鏈接Atlas的客戶端的IP,能夠是精確IP,也能夠是IP段,以逗號分隔,若不設置該項則容許全部IP鏈接,不然只容許列表中的IP鏈接
#client-ips = 127.0.0.1, 

#Atlas前面掛接的LVS的物理網卡的IP(注意不是虛IP),如有LVS且設置了client-ips則此項必須設置,不然能夠不設置
#lvs-ips =


關於內核與Atlas的配置,網絡上不少不少教程了! 這邊就不說起了。併發

ulimit 的修改是必須的,不然在打開與鏈接的時候會有提示。負載均衡

針對Atlas 幾點包括:

        一、存儲過程若是帶insert 與 update 偶爾會發送到從庫

        二、線程重置(這個是360官方未作處理,其實不影響使用)

        三、最好是關閉SELinux 。

        四、Linux服務器安全軟件限制,致使Atlas 併發到必定數量後被強制終止或重置而致使錯誤! (如非必要,請勿安裝Linux安全軟件)


以上,關於線程重置大約是併發上來,服務器內核、ulimit 沒配置好也有必定關係,你們本身參考下本身的電腦性能給予相應的配置皆可~

若有錯誤、歡迎指出!

相關文章
相關標籤/搜索