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