من یک سرور لینوکس دارم که روی اون دیتابیس mariadb نصب و راه اندازی شده. مدتی هست که از طریق top چک میکنم حدود 60٪ از فضای مموری که به سرور دیتابیس اختصاص دادم توسط سرویس mysql در حال مصرف شدن هست. من بررسی کردم ظاهرا تعداد زیادی کانکشن به دیتابیسم خورده ولی میخوام تعداد دقیق کانکشن ها رو در بیارم و اینکه چی هستند و هر کدوم چقدر دارن از منابع سیستم استفاده میکنند؟
اطلاعیه
بستن
هنوز اطلاعیه ای در دست نیست.
چطور مقدار مصرفی رم برای هر کانکشن mysql را پیدا کنم؟
بستن
X
-
چطور مقدار مصرفی رم برای هر کانکشن mysql را پیدا کنم؟
اینستاگرام انجمن لینوکس ایران : https://www.instagram.com/iranlinuxforumبرچسب ها: هیچکدام
-
سلام . با استفاده از دستور زیر شما می توانید میزان مموری مورد استفاده در مای اسکیول را مشاهده کنید :
کد PHP:SHOW ENGINE INNODB STATUS
کد PHP:----------------------
BUFFER POOL AND MEMORY
----------------------
Total memory allocated 7762083840; in additional pool allocated 0
Dictionary memory allocated 503133
Buffer pool size 458752
Free buffers 1
Database pages 458462
Old database pages 169216
Modified db pages 5
Pending reads 0
Pending writes: LRU 0, flush list 0, single page 0
Pages made young 178081259, not young 0
0.29 youngs/s, 0.00 non-youngs/s
Pages read 182436201, created 184119, written 49685962
0.82 reads/s, 0.00 creates/s, 4.63 writes/s
Buffer pool hit rate 979 / 1000, young-making rate 7 / 1000 not 0 / 1000
Pages read ahead 0.00/s, evicted without access 0.00/s, Random read ahead 0.00/s
LRU len: 458462, unzip_LRU len: 0
I/O sum[240]:cur[0], unzip sum[0]:cur[0]
--------------
ROW OPERATIONS
--------------
0 queries inside InnoDB, 0 queries in queue
1 read views open inside InnoDB
Main thread process no. 2431, id 140350951565056, state: sleeping
Number of rows inserted 15736252, updated 0, deleted 2103065, read 31555995710
1.32 inserts/s, 0.00 updates/s, 0.03 deletes/s, 1.21 reads/s
----------------------------
END OF INNODB MONITOR OUTPUT
============================
میزان حداکثری مصرف مموری به ازای کانکشن :
اگر شما بخواهید میزان حداکثری مموری که یک کانکشن میتواند استفاده کند را مشاهده کنید از این کوئری استفاده کنید:
کد PHP:
SELECT ( @@read_buffer_size + @@read_rnd_buffer_size + @@sort_buffer_size + @@join_buffer_size + @@binlog_cache_size + @@thread_stack + @@tmp_table_size + 2*@@net_buffer_length ) / (1024 * 1024) AS MEMORY_PER_CON_MB;
select @@max_connections;
پیدا کرد.
میانگین مموری به ازای کوئری:
اگر بخواهید مموری مصرفی پر کوئری رو ببینید کار کمی سخت تر است . شما می توانید اطلاعاتی از دستور :
INNODB status
پیدا کنید و عدد مورد نظر را بر تعداد کانکشن ها تقسیم کنید. به طور کلی من فرض را بر این گذاشتم که هر کانکشن بطور میانگین نیمی از مموری موجود را نیاز داشته باشد و این نرخ نسبتا مطمینی ست و تقریبا سالهاست که من به مشکلی نخوردم.Instagram : https://www.instagram.com/iranlinuxforum
Voip Trainer - Asterisk - Elastix - Agi Programming- NewRock
Voip Expert :ASTERISK-ELASTIX-NewRock Certified-With Experience of Working With
Sangoma-Digium-Openvox-Synway-Atcom-Quintum Tenor-Polycom-Yealink-Rtx-Snom
Cisco Collaboration - CME-CUCM-CUPs-CUC-WEBEX
LPI ( Fundamental - LPI1 and LPI2 ) - Monitoring: ZABBIX-VOIPMONITOR-NAGIOS - CCNA
Linkedin Profile : https://www.linkedin.com/in/masuma-vahid-26b17b66/
- لایک ها 2
کامنت