প্রায় 4 মাস আগে আমরা এমএস এসকিউএল সার্ভার থেকে মাইএসকিউএল 5.5 এ স্থানান্তরিত হয়েছি । তার পর থেকে আমরা প্রায় 25 দিন পরে একবারে কোনও সমস্যার মুখোমুখি হয়েছি যেখানে সেন্টোস স্মৃতিশক্তি হারিয়েছে এবং ফলস্বরূপ এটি মাইএসকিউএলকে হত্যা করে। মাইএসকিউএল নিরাপদ মাইএসকিএল পুনরায় আরম্ভ করে তাই ডাটাবেসটি কেবল এক বা দুই মিনিটের জন্য পুরোপুরি ডাউন থাকে তবে সেন্টোস মাইএসকিএল থ্রেডকে মেরে ফেলার আগে আমরা কয়েক ঘন্টার জন্য কর্মক্ষমতা এবং সংযোগের ক্ষতির সম্মুখীন হতে পারি।
আমরা সাধারণত 1 টা থেকে সকাল 5 টা পর্যন্ত সমস্যাগুলি দেখতে পাই , তবে কখনই ট্র্যাফিক সর্বাধিক হয় না যা এই পরিস্থিতি সম্পর্কে সত্যই হতবাক। সাধারনত সকাল 1 টা থেকে সকাল 5 টা পর্যন্ত কানেক্টিভিটি এবং পারফরম্যান্সের সমস্যাগুলি দেখা সত্ত্বেও, মাইএসকিএল সার্ভার সাধারণত 4 টা বা 5 টা, প্রায় একই সময় মাইএসকিএলডাম্পে চালিত হয়ে মারা যায়।
আমরা ভেবেছিলাম mysqldump
অপরাধী হতে পারে। তবে এটি প্রতিদিন 4 টা থেকে শুরু হয়, তবে আমরা কিছু রাত্রে 1 টা পূর্বের দিকে সমস্যা দেখতে পাই। এছাড়াও স্যুইচ mysqldump
দিয়ে চলছে --opt
, তাই ডাম্প প্রক্রিয়া চলাকালীন এটি প্রচুর ডেটা বাফারিং করা উচিত নয়।
আমরা যে ব্যাকআপ অ্যাপটি ব্যবহার করছি তা বিবেচনা করেছিলাম যা ডাম্প ফাইলগুলি পেয়ে যায় এবং সেগুলিকে টেপ পর্যন্ত ব্যাক আপ করে। আমরা এটি সকাল 6 টা চলার সময়টি পরিবর্তন করেছি এবং সমস্যাটি অপরিবর্তিত ছিল।
আমাদের বেশ কয়েকটি কাজ রয়েছে যা পুরো রাত জুড়ে নিয়মিত চলতে থাকে তবে কোনওটিই খুব বেশি সংস্থার নিবিড় হয় না এবং চালাতে খুব বেশি সময় নেয় না।
আমরা কী নিয়ে কাজ করছি তার জন্য এখানে কিছু পরিসংখ্যান এবং my.cnf
ফাইলটিতে বর্তমান এন্ট্রি রয়েছে । যে জিনিসগুলির জন্য আমরা চেষ্টা করতে পারি তার জন্য কোনও সহায়তা বা পরামর্শগুলি খুব প্রশংসিত হবে।
পরিসংখ্যান :
- ইন্টেল (আর) জিয়ন (আর) সিপিইউ ই 5530 @ 2.40GHz
- সিপু কোর: 4
- স্মৃতি: 12293480 (12 জিগস)
ওএস :
- CentOS 5.5
- লিনাক্স 2.6.18-274.12.1.el5 # 1 এসএমপি মঙ্গলবার 29 নভেম্বর 13:37:46 ইএসটি 2011 x86_64 x86_64 x86_64 জিএনইউ / লিনাক্স
MY.CNF:
[client]
port = 3306
socket = /var/lib/mysql/mysql.sock
[mysqld]
port = 3306
socket = /var/lib/mysql/mysql.sock
skip-name-resolve
ssl-ca=<file location>
ssl-cert=<file location>
ssl-key=<file location>
back_log = 50
max_connections = 500
table_open_cache = 2048
table_definition_cache = 9000
max_allowed_packet = 16M
binlog_cache_size = 1M
max_heap_table_size = 64M
read_buffer_size = 2M
read_rnd_buffer_size = 16M
sort_buffer_size = 8M
join_buffer_size = 8M
thread_cache_size = 130
thread_concurrency = 16
query_cache_size = 64M
query_cache_limit = 1M
ft_min_word_len = 4
default-storage-engine=INNODB
thread_stack = 192K
transaction_isolation = REPEATABLE-READ
tmp_table_size = 64M
log-bin=/log/mysql/mysql-bin
expire_logs_days=7
binlog_format=mixed
key_buffer_size = 32M
bulk_insert_buffer_size = 64M
myisam_sort_buffer_size = 128M
myisam_max_sort_file_size = 10G
myisam_repair_threads = 1
myisam_recover
innodb_additional_mem_pool_size = 16M
innodb_buffer_pool_size = 7G
innodb_thread_concurrency = 16
innodb_flush_log_at_trx_commit = 2
innodb_log_file_size = 256M
innodb_log_files_in_group = 3
innodb_max_dirty_pages_pct = 70
innodb_lock_wait_timeout = 120
[mysql]
no-auto-rehash
[mysqld_safe]
open-files-limit = 8192