MySQL高效處理大量并發(fā)的數(shù)據(jù)庫連接方法
第一個問題,通過開放多個端口來實現(xiàn)
同一服務(wù)上開啟多個MySQL端口有兩種方式,一種是在編譯的時候指定特定端口,第二是修改配置文件來達到監(jiān)聽多個端口的目的。通過對MySQL_multi.conf修改可以實現(xiàn)第二種方式。MySQLd_multi可以管理多個幀聽不同Unix套接字文件和TCP/IP端口的連接的MySQLd 進程。它可以啟動或停止服務(wù)器,或報告它們的當前狀態(tài)。程序?qū)ふ?/SPAN>my.cnf中的[MySQLdN]組(或--config-file選項指定的文件)。N 可以為任何正整數(shù)。
宇塵網(wǎng)絡(luò)幫助中心——域名知識|虛擬主機知識|VPS主機知識|服務(wù)器知識|網(wǎng)站建設(shè)知識|網(wǎng)絡(luò)推廣
同時,在my.cnf配置文件中對以下各參數(shù)進行適當?shù)脑O(shè)置。首先是與網(wǎng)絡(luò)連接的性能配置項。
Max_connections:整個MySQL允許的最大連接數(shù)。
如果客戶的連接請求數(shù)超過max_connections,就會產(chǎn)生大量連接請求的等待,所以應(yīng)該在主機性能允許的情況下,將該參數(shù)設(shè)置的盡可能大一些。
Max_user_connections:每個用戶允許的最大連接數(shù)。
Net_buffer_length:網(wǎng)絡(luò)包傳輸中,傳輸消息之前的net buffer初始化大小。
Max_allowed_packet:在網(wǎng)絡(luò)傳輸中,一次消息傳輸量的最大值
Back_log:在MySQL的連接請求等待隊列中允許存放的最大連接請求數(shù)。
美國月付空間、月付美國空間、美國VPS、美國服務(wù)器租用
再次是與連接線程相關(guān)的系統(tǒng)參數(shù)及狀態(tài)變量
Thread_cache_size:Thread Cache池中應(yīng)該存放的連接線程數(shù)。
Thread_stack:每個連接線程被創(chuàng)建時,MySQL給它分配的內(nèi)存大小。
仿牌空間、香港月付空間、韓國月付空間、日本月付空間、荷蘭VPS、香港VPS
第二個問題,主要通過以下幾個方面來處理
第一, 適當分庫。根據(jù)業(yè)務(wù)劃分多個數(shù)據(jù)庫,即database。通過SQL命令 show databases可以顯示所有的數(shù)據(jù)庫。這樣可以將數(shù)據(jù)資源的訪問進行有效地均衡,使得在各個業(yè)務(wù)數(shù)據(jù)的訪問之間減少干擾,這樣通過訪問字符串進行數(shù)據(jù)庫連接的時候也可以更為有效的利用MySQL的多線程機制。而且,通過這樣的處理,也有效減少了對同一部分數(shù)據(jù)的訪問。
第二,對MySQL進行Query Cache優(yōu)化。
更多技術(shù)知識,更多網(wǎng)絡(luò)服務(wù),盡在宇塵網(wǎng)絡(luò)。我們的成長,離不開你們的支持,宇塵網(wǎng)絡(luò),歡迎您的訪問。