2012-06-05 13 views
20

मुझे उम्मीद है कि कोई भी एक उच्च मात्रा mysql डेटाबेस सर्वर के लिए my.cnf फ़ाइल को अनुकूलित करने के साथ कुछ सहायता प्रदान करने में सक्षम हो सकता है।MySQL my.cnf प्रदर्शन ट्यूनिंग अनुशंसाएं

Our architecture is as follows: 

Memory  : 96GB 
CPUs  : 12 
OS & Mysql : 64-bit 
Disk Space : 1.2 TB 
DB Engine : MyISAM 

हमारे वेब एप्लिकेशन का लगभग 300 क्लाइंट एक साथ उपयोग किया जाता है। इस बुनियादी ढांचे के लिए सर्वोत्तम संभव प्रदर्शन देने के लिए हमें अपने my.cnf की आवश्यकता है।

मुझे पूरी तरह से पता है कि इंडेक्स और अनुकूलित क्वेरी इस में एक प्रमुख कारक हैं, लेकिन हम एक सिस्टम से शुरू करना चाहते हैं जो ठीक से कॉन्फ़िगर किया गया है और उसके बाद व्यवस्थित रूप से हमारे प्रश्नों को पुन: इंजीनियरिंग के साथ पालन करें।

Here is our current my.cnf file content: 

[mysqld] 
datadir=/home/mysql 
socket=/home/mysql/mysql.sock 
user=mysql 

log-bin=mysql-bin 
server-id=1 
# Disabling symbolic-links is recommended to prevent assorted security risks 
symbolic-links=1 

log-slow-queries = /var/log/mysqld_slow_queries.log 
long_query_time = 10 

max_connections = 500 

key_buffer_size = 32768M 
#max_allowed_packet = 2M 
#table_open_cache = 128 
#sort_buffer_size = 1024K 
#net_buffer_length = 64K 
#read_buffer_size = 1024K 
#read_rnd_buffer_size = 1024K 
#myisam_sort_buffer_size = 8M 
query_cache_size = 128M 
query_cache_limit = 128M 

interactive_timeout = 300 
wait_timeout = 300 

# Added values after load testing 
thread_cache_size = 8 
#tmp_table_size = 256M 
#max_heap_table_size = 256M 
#table_cache = 512 
#join_buffer_size = 512 

log-error=/var/log/mysqld.log 

innodb_buffer_pool_size=128M 
#innodb_file_per_table 
#innodb_log_file_size=250M 
##innodb_buffer_pool_size=64M 
#innodb_buffer_pool_size=1024M 
#innodb_log_buffer_size=4M 
##log-bin=mysql-bin 

[mysqld_safe] 
log-error=/var/log/mysqld.log 
pid-file=/var/run/mysqld/mysqld.pid 

#[myisamchk] 
#key_buffer = 64M 
#sort_buffer = 64M 
#read_buffer = 16M 
#write_buffer = 16M 

कोई सुझाव? धन्यवाद दोस्तों।

संपादित RolandoMySQLDBA

से आप सभी डेटा के बाद से MyISAM है, तो कृपया इस क्वेरी चलाने के लिए और उत्पादन

SELECT CONCAT(ROUND(KBS/POWER(1024, 
IF(PowerOf1024<0,0,IF(PowerOf1024>3,0,PowerOf1024)))+0.4999), 
SUBSTR(' KMG',IF(PowerOf1024<0,0, 
IF(PowerOf1024>3,0,PowerOf1024))+1,1)) 
recommended_key_buffer_size FROM 
(SELECT LEAST(POWER(2,32),KBS1) KBS 
FROM (SELECT SUM(index_length) KBS1 
FROM information_schema.tables 
WHERE engine='MyISAM' AND 
table_schema NOT IN ('information_schema','mysql')) AA) A, 
(SELECT 3 PowerOf1024) B; 

@ रोलैंडो दिखाने - धन्यवाद ... कि पूछताछ के परिणामों 4G था।

+0

आप अपने वर्तमान सेटिंग के आधार पर विशिष्ट धीमेपन का अनुभव कर रहे हैं? – Randy

+0

यह केवल 300 वेब उपयोगकर्ताओं के लिए एक बहुत अच्छी मशीन है, और भी अधिक यदि यह सिर्फ एक डीबी सर्वर है .. क्या यह विंडोज या लिनक्स है? किसी भी तरह से, मैं आम तौर पर ओएस/स्वैप और डेटा वॉल्यूम (जहां डेटादिर रहता है) के लिए अलग डिस्क/एलयूएन रखने की सलाह देते हैं। सॉफ्टवेयर RAID से दूर रहें, इत्यादि। 'एमके-क्वेरी-सलाहकार' नामक एक उपकरण है जो आपको इस सेटअप को ट्यून करने में मदद कर सकता है। जब तक आपका 'फ्रंट एंड' एप्लिकेशन 'उचित चीज़' नहीं कर रहा हो (स्थिर डेटा कैशिंग, केवल आवश्यकता होने पर पूछताछ आदि), ट्यूनिंग आपको अधिक खरीद नहीं सकती है। – JMC

+0

आप रखरखाव स्क्रिप्ट (पाठ्यक्रम के बैकअप के बाद) भी जोड़ सकते हैं जो चीजों को अनुकूलित रखने में मदद के लिए प्रत्येक सप्ताह 'ऑप्टिमाइज़ टेबल Tbl_name' कहता है। बड़ी टेबल, आदि को विभाजित करने में भी – JMC

उत्तर

22

पेर्कोना विज़ार्ड से शुरू करने का प्रयास करें और अपनी मौजूदा सेटिंग्स के विरुद्ध अपनी सिफारिशों की तुलना एक-एक करके करें। चिंता न करें जैसा कि आप सोच सकते हैं उतनी लागू सेटिंग्स नहीं हैं।

https://tools.percona.com/wizard

हर कोई key_buffer_size पहले जो आप को संबोधित किया है के लिए अंक। 96 जीबी मेमोरी के साथ मैं किसी भी छोटे डिफ़ॉल्ट मूल्य से सावधान रहूंगा (संभवतः केवल 9 6 एम!)।

+0

धन्यवाद केसीडी! मैं वहां गया था और उनकी सिफारिश की सेटिंग्स का प्रयास करेंगे। यह बहुत सराहना की थी! – Skittles

+0

कोई समस्या नहीं है। इनमें से कोई भी परिणाम आपके पास से भिन्न होता है? – KCD

+0

हां ... काफी बदलाव। बस सर्वर का उपयोग कर पुनरारंभ किया।हमें यह देखने के लिए इंतजार करना होगा कि कल पूरा उत्पादन दिन क्या पैदा करता है। वह सिस्टम का उपयोग कर क्रॉन और ग्राहक सेवा प्रतिनिधि के साथ पूर्ण। – Skittles

संबंधित मुद्दे