মাইএসকিউএল প্রতি 25 বা তারও বেশি দিন ওএসের মাধ্যমে মারা যায়


9

প্রায় 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

ত্রুটি লগটি কনফিগার করুন dev.mysql.com/doc/refman/5.5/en/error-log.html এবং সমস্যা দেখা দিলে কিছু নিবন্ধিত হয়েছে কিনা তা

আমি এই সাইটটি ohh.cc/mycnf ব্যবহার করেছি এবং নির্ধারণ করেছি যে সমস্যাটি সম্ভবত কনফিগারেশনের ক্ষেত্রেই সম্ভবত। আমি মাইসাম সম্পর্কিত সংযোগ পুলগুলিকে অনেকগুলি সামঞ্জস্য করতে যাচ্ছি এবং দেখুন এটি মেমরির ব্যবহারে সহায়তা করে কিনা।

2
CentOS 5.5 বর্তমান নয়। 5.8 হ'ল (যদি আপনি ওএস সুরক্ষা সম্পর্কে যত্নশীল হন)
নিলস

1
সমাধান আকর্ষণীয় হবে। আপনি কি আপনার নিজের প্রশ্নের উত্তর হিসাবে পোস্ট করতে পারেন?
নিলস

যেখানে এটি সমাধান হয়েছিল সেখানে reddit থ্রেডে নকল পোস্ট । এটি মাইএসকিউএল এর ফোরামে
মার্ক ম্যাককিনস্ট্রি

উত্তর:


2
  1. আপনি মাইএসকিউএল ত্রুটি লগ চেক করা উচিত

  2. এই মানটি ulimit -aওপেন করা ফাইলগুলির মতো একই কিনা তা পরীক্ষা করুন :

    int my.cnf 
    [mysqld_safe]
    open-files-limit = 8192
    

0

আপনার কনফিগারেশনটি বগি।

এখানে এই সরঞ্জামটি ব্যবহার করুন । এটি আপনাকে জানায় যে আপনার কাস্টম কনফিগারেশনের জন্য আপনার কত মেমরি র‌্যামের প্রয়োজন?

আপনি উল্লিখিত হিসাবে আপনার বর্তমান র‌্যাম 12GBতবে আপনার 31.6GB500 টি সক্রিয় মাইএসকিউএল সংযোগ প্রয়োজন।

Session variables
max_allowed_packet 16.0 MB
sort_buffer_size 8.0 MB
net_buffer_length 16.0 KB
thread_stack 192.0 KB
read_rnd_buffer_size 16.0 MB
read_buffer_size 2.0 MBSession variables
max_allowed_packet 16.0 MB
sort_buffer_size 8.0 MB
net_buffer_length 16.0 KB
thread_stack 192.0 KB
read_rnd_buffer_size 16.0 MB
read_buffer_size 2.0 MB
join_buffer_size 8.0 MB
Total (per session)50.2 MB
Global variables
innodb_log_buffer_size 1.0 MB
query_cache_size 64.0 MB
innodb_buffer_pool_size 7.0 GB
innodb_additional_mem_pool_size 16.0 MB
key_buffer_size 32.0 MB
Total 7.1 GB
Total memory needed (for 500 connections): 31.6 GB
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.