आप mysql max_connections की गणना कैसे करते हैं?
आप क्या ध्यान में रखते हैं?
आप mysql max_connections की गणना कैसे करते हैं?
आप क्या ध्यान में रखते हैं?
जवाबों:
प्रासंगिक जानकारी के साथ इसे उत्तर के रूप में पोस्ट करने जा रहे हैं। मूल सूत्र हैं:
उपलब्ध RAM = ग्लोबल बफ़र्स + (थ्रेड बफ़र्स x max_connections)
max_connections = (उपलब्ध रैम - ग्लोबल बफर) / थ्रेड बफ़र्स
बफ़र्स और उनके मूल्यों की सूची प्राप्त करने के लिए:
SHOW VARIABLES LIKE '%buffer%';
यहां बफ़र्स की सूची दी गई है और वे ग्लोबल या थ्रेड हैं:
ग्लोबल बफ़र्स : key_buffer_size, innodb_buffer_pool_size, innodb_log_buffer_size, innodb_additional_mem_pool_size, net_buffer_size, query_cache_size
थ्रेड बफ़र्स : Sort_buffer_size, myisam_sort_buffer_size, read_buffer_size, join_buffer_size, read_rnd_buffer_size, thread_stack
चेतावनी! यह 2011 से MySQL 5.1.x का उपयोग कर रहा है। अपने जोखिम पार इस्तेमाल करें
---- मूल पोस्ट ----
संग्रहीत कार्यविधि फ़ॉर्म में एक और वैकल्पिक सूत्र यहां दिया गया है:
DELIMITER //
CREATE PROCEDURE sproc_show_max_memory ( OUT max_memory DECIMAL(7,4))
BEGIN
SELECT ( @@key_buffer_size + @@query_cache_size + @@tmp_table_size + @@innodb_buffer_pool_size + @@innodb_additional_mem_pool_size + @@innodb_log_buffer_size + @@max_connections * ( @@read_buffer_size + @@read_rnd_buffer_size + @@sort_buffer_size + @@join_buffer_size + @@binlog_cache_size + @@thread_stack ) ) / 1073741824 AS MAX_MEMORY_GB INTO max_memory;
END//
DELIMITER ;
CALL sproc_show_max_memory(@show_max_memory);
SELECT @show_max_memory;
मैं आपके MySQL डेटाबेस> संस्करण 5.1.x का उपयोग कर रहा हूं और आप एक विशेषाधिकार प्राप्त उपयोगकर्ता हैं। लेकिन आप जो भी नंबर चाहते हैं उसे डालकर और परिणाम देखने के लिए अधिकतम कनेक्शन के साथ खेलते हैं।
मैं उस नंबर के साथ घूर रहा हूं, जो मुझे साधारण कैलुलेशन से मिल रहा है: अपेक्षित_नंबर_ऑफ_क्रैक्वेस्ट_पर_सॉकोंड * अपेक्षित_ऑवर्स_रेक्वेस्ट_प्रोसेसिंग_टाइम * 2।
बाद में ट्यूनिंग के लिए, मैं हमेशा ऐतिहासिक डेटा के साथ निगरानी प्रणाली का उपयोग कर रहा हूं और कुछ चोटी के मामले में 20% आरक्षित रखने की कोशिश कर रहा हूं। जब आप कुछ कनेक्शन पूलिंग (जो आमतौर पर एक अच्छा विचार है) का उपयोग कर रहे हैं तो यह थोड़ा अधिक जटिल है - तब आपको पूल में उपयोग किए गए कनेक्शनों की संख्या की निगरानी करने की आवश्यकता होती है।