mysql atlas更新问题_Atlas几种常见故障解决(不定期更新)
1)使用atlas卻發現“讀庫閑置,框架還是去主庫讀寫數據”
配置完atlas之后,發現使用jdbc框架的話,讀庫和寫庫各司其職,但是使用mybatis框架之后,就發現框架的讀寫都去了主庫,把讀庫放置一邊,那么這種情況是因為“有事務存在的話,atlas就會強制走主庫”,遇到這種情況就檢查一下是否有事務的存在,比如@Transactional,如果要解決的話,就加上“@Transactional(propagation=Propagation.NOT_SUPPORTED)”即可。
2)自動讀寫分離挺好,但有時候我寫完馬上就想讀,萬一主從同步延遲怎么辦?
SQL語句前增加 /*master*/ 就可以將讀請求強制發往主庫。在mysql命令行測試該功能時,需要加-c選項,以防mysql客戶端過濾掉注釋信息。不過這不能從本質上解決問題,使用Atlas需要考慮到這點, 提高主機的IO性能,加大memory可以緩解延遲癥狀,但依舊不能避免延遲的出現,尤其是讀多寫少的應用。
3)resource limit問題
atlas有自己的連接池,會吃掉很多CPU, php應用端改用短鏈接來連接atlas, 這時候atlas對php發送來的sql只負責驗證和轉發的操作,后端DB的連接由atlas自己管理,未使用的連接線程進行剔除操作(DB的wait_timeout和interactive_timeout設置為300s,超時亦退出)。
如果MySQL后端的連接數也滿了可能會報以下錯誤:
可以臨時增加MySQL connection數量:
關于Too many open files錯誤,可能由兩種情況引起:
一、php長連接連接到atlas后,每個線程占用一個FD,直到超出系統資源限制而出現too many錯誤;
二、php應用端發送到atlas的sql過多,大量并發的情況下,linevent維護的隊列過多,每個event吃一個FD,超出系統資源限制引起too many錯誤;
避免too many錯誤,增加用戶的ulimit值加大FD的使用量,可增加系統ulimit 資源到 ~/.bash_profile文件或/etc/security/limits.conf文件:
總結
以上是生活随笔為你收集整理的mysql atlas更新问题_Atlas几种常见故障解决(不定期更新)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ATIDtct.EXE是什么进程 ATI
- 下一篇: aticwd32.exe进程是安全的吗