成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

數據庫負載均衡功能優化代碼

網絡 網絡優化 網絡運維
本文詳細介紹了負載均衡功能的域名服務器和數據庫優化代碼的相關內容,通過對連接配置文件,語句優化代碼的介紹,相信大家能完善系統。

通過MySQL負載均衡功能的設置文章,相信大家已經基本上對一些設置有所了解了,那么現在我們在對網絡域名服務器和數據庫優化做一下詳細介紹。其中包括了相關內容的代碼配置。

配置網絡DNS服務器

在BIND DNS服務器中,為三臺從屬服務器Slave配置同一個名字,客戶端的查詢檢索操作將由DNS服務器定向到其中的一臺Slave。因此,對于同一名字,不同的客戶端會定向到不同的地址,訪問不同的MySQL服務器,從而達到負載均衡功能實現的目的。假設用戶為三臺Slave分配的DNS名字為mysqlslave.yourdomain,DNS服務器區域文件/var/named/yourdomain.zone中應包含如下數據項:

sqlmaster.yourdomain. IN A 192.168.1.100
sqlslave1.yourdomain. IN A 192.168.1.101
sqlslave2.yourdomain. IN A 192.168.1.102
sqlslave3.yourdomain. IN A 192.168.1.103
sqlslave IN CNAME sqlslave1
sqlslave IN CNAME sqlslave2
sqlslave IN CNAME sqlslave3

當客戶端進行查詢操作時,提交給主機sqlslave.yourdomain的請求將由DNS服務器隨機定向到三臺Slave中的一臺,由其執行查詢作業,返回結果。從而在三臺Slave之間實現查詢級別的負載均衡功能。

應用系統程序代碼優化

實際應用中,對數據庫的寫入操作相對查詢操作少得多,因此,優化應用程序的數據庫連接代碼,把寫入操作定向到Master服務器,查詢操作定向到Slave服務器,提供主服務器和從屬服務器之間更新、查詢的負載均衡功能。本文以PHP數據庫連接代碼為例,簡要介紹代碼優化方法。

(1).準備不同的數據庫連接配置文件

準備兩個數據庫連接文件mysql_connect_master.php和mysql_connect_slave.php,其文件內容如下:

mysql_connect_master.php文件的內容:
// Connect to the Database Server
$linkID = @mysql_connect("sqlmaster.yourdomain", "user", "password") or die("Sorry, could not connect to the database!");
// Select the Database
@mysql_select_db("repl_db") or die("Sorry, Could not select database!");
?>

mysql_connect_slave.php文件的內容:
// Connect to the Database Server
$linkID = @mysql_connect("sqlslave.yourdomain", "user", "password") or die("Sorry, could not connect to the database!");
// Select the Database
@mysql_select_db("repl_db") or die("Sorry, Could not select database!");
?>

(2).優化程序SQL語句代碼

對應用程序中訪問數據庫的代碼段做出如下優化:
 

  1. ...  
  2. // $sql is the query string to be committed to MySQL server.  
  3. if ( stripos( $sql, " SELECT" ) )  
  4. {  
  5. include_once("./mysql_connect_slave.php");  
  6. ...  
  7. mysql_close();  
  8. }  
  9. else 
  10. {  
  11. include_once("./mysql_connect_master.php");  
  12. ...  
  13. mysql_close();  
  14. }  
  15. ...  
  16. ?> 

說明:每當向MySQL服務器提交數據庫操作時,加入一個if-else判斷語句對變量$sql進行判斷定向,如果是SELECT查詢操作,將其定向到從屬服務器Slave中的一個;如果是其它更新語句,則將其定向到主服務器Master。此處代碼段是應用系統實現負載均衡的關鍵,用戶務必根據自己實際情況,寫出準確無誤的代碼。每次對數據庫操作完畢都要及時釋放數據庫連接,以免更新、查詢操作分別定向失敗,影響系統負載均衡功能。這樣做雖然在一定程度上增加Web服務器或應用服務器的開銷,但與MySQL服務器集群負載均衡功能帶來的大幅性能提升及冗余容錯特性相比,這個開銷絕對是物超所值!

責任編輯:佟健 來源: 互聯網
相關推薦

2010-04-22 12:49:34

負載均衡功能配置

2010-05-07 13:09:06

2010-05-10 18:05:09

2012-10-19 10:21:07

數據庫負載均衡mssqlserver

2010-05-07 13:14:22

數據庫負載均衡

2010-04-21 17:16:15

2012-05-29 18:05:00

2010-04-22 13:44:38

負載均衡功能

2010-04-21 16:57:18

數據庫負載均衡

2010-04-22 12:45:05

2010-05-17 14:00:07

MySql數據庫

2010-04-20 14:31:29

負載均衡功能

2010-05-10 17:38:57

網絡負載均衡功能

2010-04-22 15:24:39

負載均衡功能

2010-05-04 15:37:26

CEF負載均衡

2010-05-06 09:43:29

負載均衡功能

2010-04-22 12:25:24

MySQL負載均衡功能

2010-04-21 12:28:50

Oracle負載均衡

2011-08-05 15:28:47

MySQL數據庫集群負載均衡

2011-08-22 12:01:36

SQL Server代碼優化
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: www.国产.com| 免费在线日韩 | 亚洲一区二区精品视频 | 久久精品国产一区二区电影 | 久久久久亚洲 | 国产精品一码二码三码在线 | 噜噜噜色网 | 午夜精品一区二区三区在线观看 | 久久综合久 | 欧美日韩在线视频一区 | 欧美一级片在线 | 久久成人av电影 | 日韩欧美精品在线播放 | chengrenzaixian| 青青久久av北条麻妃海外网 | 51ⅴ精品国产91久久久久久 | av黄色在线 | 精品在线一区二区 | 精品久久久久久久久亚洲 | 欧美一区二区三区视频在线 | av毛片| 99这里只有精品视频 | 99re在线视频 | 欧美一区二区免费 | 亚洲成人中文字幕 | 亚洲国产高清高潮精品美女 | 国产一区二区三区在线免费观看 | 日本久久久久久久久 | 亚洲电影第1页 | 欧美涩 | 亚洲一区综合 | 欧美一级大黄 | 久久久www | 久久99久久| 午夜丰满少妇一级毛片 | 日韩中文字幕高清 | 国产精品高清一区二区 | 中文字幕在线视频观看 | 精品在线一区 | 中文字幕精品一区二区三区精品 | 99精品99久久久久久宅男 |