خواهشا اساتید کمک کنند.
نمایش نسخه قابل چاپ
خواهشا اساتید کمک کنند.
این show processlist رو باید بعد از این که به mysql console وارد شدید بزنید .
اول
mysql -u MYSQLUSERNAME -p
با این دستور وارد کنسول mysql بشید . به جای MYSQLUSERNAME هم نام کاربری Mysql رو بزارید .
بهتره اول log slow queries رو فعال کنید تا بشه فهمید دقیقه کدوم اعمال مدت زمان بیشتر و فشار بیشتری وارد میکنن .
اگر منظورتون نمایش کورلی های در حال اجرا هست این دستور هست
mysqladmin -u root -p -i2 processlist
که خروجی این رو برای شما هم میزارم تا نظر بدید
:"""
+-------+--------------+-----------+---------------+---------+------+--------------+-----
----------------------------------------------------------------------------------------+
| 74569 | mehrstat_ako | localhost | mehrstat_stat | Query | 0 | Sending data | sele
ct * from bazdid_rooz where site='1882' and checked_top=0 order by id desc limit 2 |
| 75074 | mehrstat_ako | localhost | mehrstat_stat | Sleep | 13 | |
|
| 75090 | root | localhost | | Query | 0 | | show
processlist |
| 75100 | mehrstat_ako | localhost | mehrstat_stat | Query | 0 | Sending data | sele
ct * from bazdid_safhe_date where site=209 and page='http://aloneboy.com/tag/???-?????? |
+-------+--------------+-----------+---------------+---------+------+--------------+-----
----------------------------------------------------------------------------------------+
+-------+--------------+-----------+---------------+---------+------+--------------+-----
-----------------------------------------------------------------------------------------
--------+
بیشترین درخواست ها توسط این 2 یوزر به سرور ارسال میشه
allmp3
aloneboy
کلا درخواست به سمت سرور زیاد هست
دوستان توجه داشته باشند که این یک سایت امارگیر هست
این تنظیماتی که برای my.cnf گذاشتید متناسب نیست mysqltuner.pl را اجرا کنید خروجی را اینجا بزارید تا بگم مقادیر را به چی تغییر بدید.
لطفا خروجی را داخل تگ code بزارید.
داخل top مقدا iow را بنویسید ، داخل فایل slow query ببنید کدام کوئری بیشتر تکرار شده اینجا بزارید یا اینکه داخل لیست کوئری ها ببنید کدوم کوئری بیشتر از 5 یا 10 ثانیه طول میکشه و اینجا بزارید
ممکنه وب سرور خوب کامپایل نشده باشه
سلام دوستان
این لوگ slow query
البته این چیزی رو نمایش نمیده و همیش همین خیط کپی میشه تو این ریپورت
و گزارش myslqtunerکد:/usr/sbin/mysqld, Version: 5.0.91-community-log (MySQL Community Edition (GPL)). started $
Tcp port: 0 Unix socket: (null)
Time Id Command Argument
کد:-------- Performance Metrics -------------------------------------------------
[--] Up for: 10s (174 q [17.400 qps], 14 conn, TX: 44K, RX: 13K)
[--] Reads / Writes: 54% / 46%
[--] Total buffers: 34.0M global + 2.7M per thread (100 max threads)
[OK] Maximum possible memory usage: 309.0M (1% of installed RAM)
[OK] Slow queries: 0% (0/174)
[OK] Highest usage of available connections: 3% (3/100)
[!!] Key buffer size / total MyISAM indexes: 8.0M/44.4M
[!!] Key buffer hit rate: 58.3% (211 cached / 88 reads)
[!!] Query cache is disabled
[OK] Temporary tables created on disk: 0% (0 on disk / 2 total)
[!!] Thread cache is disabled
[OK] Table cache hit rate: 82% (29 open / 35 opened)
[OK] Open file limit used: 5% (58/1K)
[OK] Table locks acquired immediately: 100% (160 immediate / 160 locks)
[!!] Connections aborted: 7%
-------- Recommendations -----------------------------------------------------
General recommendations:
Add skip-innodb to MySQL configuration to disable InnoDB
Run OPTIMIZE TABLE to defragment tables for better performance
MySQL started within last 24 hours - recommendations may be inaccurate
Set thread_cache_size to 4 as a starting value
Your applications are not closing MySQL connections properly
Variables to adjust:
key_buffer_size (> 44.4M)
query_cache_size (>= 8M)
thread_cache_size (start at 4)
با تشکر از دوستان
حق با شماست.
سلام
دوست عزیز این mysql با اطمینان میتوانم بگم که درست کانفیگ نشده و الان در وضعیت عادی هم نیست و این کانفیگ برای یک وی پی اس 512 خوبه نه سرور با این کانفیگ :)
دیتابیس و اسکریپت را ندیدم ولی از روی حجم ایندکس میشه گفت احتمالا خوب ایندکس گزاری نشده ...
این کانفیگ را جایگزین کنید حتما لود کمتری خواهید داشت با کارایی بیشتر:
دقت کنید بعد از جایگزین کردن این کانفیگ mysql را ری استارت کنید و استانداردش 24 ساعت هست ولی حداقل یکساعت بعد از ری استارت مجدد ریپورت mysqltuner را بفرستید این ریپورتی که الان بالا فرستادید برای 10 ثانیه پس از اجرا mysql هست که گزارش در این مدت کم عملا بی استفاده است ...نقل قول:
key_buffer = 64MB
table_cache = 1000
table_definition_cache = 1000
read_rnd_buffer_size = 3M
myisam_sort_buffer_size = 128M
query_cache_type = 1
query_cache_size = 256M
query_cache_limit=5M
query_cache_min_res_unit=1k
join_buffer_size=4M
thread_cache_size=6
max_connection=100
interactive_timeout=60
wait_timeout=60
low_priority_updates=1
concurrent_insert=2
max_heap_table_size = 16M
tmp_table_size=16M
بعد از انجام تغییراتی که شما گفتید mysql دیگه run نمیشه !
من خیلی از گزینه ها رو تغییر دادم اما تغییری نکرد.
من برای اینکه شما بتونید درست تصمیم بگیرید تنظیمات خودم رو از my.cnf پاک کردم بعد با mysqltuner گزارش گرفتم
گزارشی که قرار دادم کاملا مشخص هست که تغییری داده نشده
همون تمظیمات my.cnf که من داده بودم 5 گیگ از حافظه رم به mysql اختصاص داده شده بود البته نمیگم کار من درست هست . اما به اون بدی که شما گفتید هم نیست
کد:
#local-infile=0
key_buffer = 64MB
table_cache = 1000
table_definition_cache = 1000
read_rnd_buffer_size = 3M
myisam_sort_buffer_size = 128M
query_cache_type = 1
query_cache_size = 256M
query_cache_limit=5M
query_cache_min_res_unit=1k
join_buffer_size=4M
thread_cache_size=6
max_connection=100
interactive_timeout=60
wait_timeout=60
low_priority_updates=1
concurrent_insert=2
max_heap_table_size = 16M
tmp_table_size=16M
log-slow-queries=/var/lib/mysql/slow.log
[root@mehrstat ~]# service mysqld restart
ERROR! MySQL manager or server PID file could not be found!
Starting MySQL. ERROR! Manager of pid-file quit without updating file.
[root@mehrstat ~]# ^C
[root@mehrstat ~]# ^C
[root@mehrstat ~]#