اطلاعیه

بستن
هنوز اطلاعیه ای در دست نیست.

چطور مقدار مصرفی رم برای هر کانکشن mysql را پیدا کنم؟

بستن
X
 
  • فیلتر کردن
  • زمان
  • نمایش
Clear All
پست های جدید

    چطور مقدار مصرفی رم برای هر کانکشن mysql را پیدا کنم؟

    من یک سرور لینوکس دارم که روی اون دیتابیس mariadb نصب و راه اندازی شده. مدتی هست که از طریق top چک میکنم حدود 60٪ از فضای مموری که به سرور دیتابیس اختصاص دادم توسط سرویس mysql در حال مصرف شدن هست. من بررسی کردم ظاهرا تعداد زیادی کانکشن به دیتابیسم خورده ولی میخوام تعداد دقیق کانکشن ها رو در بیارم و اینکه چی هستند و هر کدوم چقدر دارن از منابع سیستم استفاده میکنند؟
    اینستاگرام انجمن لینوکس ایران : https://www.instagram.com/iranlinuxforum

    #2
    سلام . با استفاده از دستور زیر شما می توانید میزان مموری مورد استفاده در مای اسکیول را مشاهده کنید :
    کد 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 & Linux Trainer
    kamailio-freeswitch-Asterisk-Issabel-fusion-Programming
    Newrock-Sangoma-Digium-Openvox-Synway-Atcom-Quintum Tenor-Polycom-Yealink-Snom-yeastar-grandstream
    Cisco Collaboration - CME-CUCM-CUPs-CUC-WEBEX
    ZABBIX-VOIPMONITOR
    Linux-Devops

    Linkedin Profile : https://www.linkedin.com/in/masuma-vahid-26b17b66/

    کامنت

    در حال انجام ...
    X