PDA

توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : پارامتر های mysql و مقادیر



Hooramin
January 13th, 2013, 00:47
سلام دوستان
من یک وی پی اس دارم با پنل کلوکسو ، تو انجمنش هر چی گشتم چیزی درباره بهینه سازی تنظیمات my.cnf نگفته بود و فقط توی جواب اخر یه بنده خدایی جواب داده بود که برای بهترین سرعت بهتره همون دیفالت my.cnf که روش هست رو استفاده کنید
الان my.cnf من اینیه که کپی میکنم براتون :

[mysqld]skip-innodb
default-storage-engine=myisam
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
# Default to using old password format for compatibility with mysql 3.x
# clients (those using the mysqlclient10 compatibility package).
old_passwords=1


# Disabling symbolic-links is recommended to prevent assorted security risks;
# to do so, uncomment this line:
# symbolic-links=0


[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid





mysqltuner هم نصب کردم ولی چیز خاصی پیشنهاد نداده بود .

ولی با htop که چک کردم mysql بیشترین فشار رو به سی پی یو وارد میکنه ، طبق عکس زیر
http://www.webhostingtalk.ir/attachments/f56/10853d1358006719-%D8%A8%D9%87%D8%AA%D8%B1%DB%8C%D9%86-%D8%AA%D9%86%D8%B8%DB%8C%D9%85-%D8%A8%D8%B1%D8%A7%DB%8C-apache-untitled-jpg

sudo
January 13th, 2013, 14:01
Mysql tunner به شما مقدار پیش فرض پارامتر های مورد نیار در my.cnf را نمایش نداد؟!!؟

nginxweb
January 13th, 2013, 17:00
Slow query رو فعال کنید و track کنید ببینید کدام کوئری ها مصرف بالایی دارن که باعث این مسئله شدن
کانفیگ sql قدم دوم این کار هستش

Hooramin
January 19th, 2013, 09:37
Mysql tunner به شما مقدار پیش فرض پارامتر های مورد نیار در my.cnf را نمایش نداد؟!!؟

تنظیمات و مقادیر mysql رو با توجه به mysqltuner تنظیم کردم ، ولی هر چقدر مقادیر زیر رو میبرم بالا بازم میگه ببر بالا تر

مثلا میگه بذار 8 مگابایت بالاتر ..میکنم 9 مگا بایت میگه باید از 10 مگا بایت بالاتر باشه و همینطور ادامه داره ....

انقد بالا رفت که از 2 گیگ رم حدود 70 % صرف میشه برای mysql و نهایت آپتایم وی پی اس میشه 20 دقیقه و پشت هم ریستارت

این پیشنهادات قعلی tuner :

-------- Recommendations -----------------------------------------------------General recommendations:
Run OPTIMIZE TABLE to defragment tables for better performance
MySQL started within last 24 hours - recommendations may be inaccurate
Reduce your overall MySQL memory footprint for system stability
Adjust your join queries to always utilize indexes
Variables to adjust:
*** MySQL's maximum memory usage is dangerously high ***
*** Add RAM before increasing MySQL buffer variables ***
key_buffer_size (> 693.7M)
join_buffer_size (> 4.0M, or always use indexes with joins)

Hooramin
January 19th, 2013, 09:39
Slow query رو فعال کنید و track کنید ببینید کدام کوئری ها مصرف بالایی دارن که باعث این مسئله شدن
کانفیگ sql قدم دوم این کار هستش

slow_queries.log رو گرفتم ولی توش پر از نوشته های در هم بود نمیدونم کجاش به دردم میخوره ..

داودی
January 19th, 2013, 10:27
باید نسبت مشخصات وی پی اس شما و حجم بانک هاتون کانفیگ کرد
یه کانفیگ خوب هم طی مرور 1 الی 3 روز به دست می یاد

Hooramin
January 19th, 2013, 11:00
الان سرعت سایتم خیلی خوب شده ...ولی یک ساعت نشستم نگاه کردم به htop و دیدم mysql یدفه آنچنان فشاری به سی پی یو میاره که سرور ری استارت میشه ...

چی کار کنم بیشتر سنگینیشو بندازه رو رم ؟

iMohsen
January 19th, 2013, 13:09
شما tmp رو بزار روی tmpfs
اون فایلی که slow query ها رو توش ذخیره کرده هم یه 30-40 خطش رو بزارید اینجا یا کل فایلشو اتچ کنید .
سعی کردید از Innodb استفاده کنید ؟
این که میگین یهو میره بالا احتمال این که یک جدول خراب هم داشته باشید , هست .
از این دستور تست کنید :
mysqlcheck -oA

Hooramin
January 20th, 2013, 15:08
شما tmp رو بزار روی tmpfs
اون فایلی که slow query ها رو توش ذخیره کرده هم یه 30-40 خطش رو بزارید اینجا یا کل فایلشو اتچ کنید .
سعی کردید از Innodb استفاده کنید ؟
این که میگین یهو میره بالا احتمال این که یک جدول خراب هم داشته باشید , هست .
از این دستور تست کنید :
mysqlcheck -oA
-------------------------------------------------------------------------------------------------------------------------------------------------
این تنظیمات فعلی my.cnf هست :

[mysqld]skip-innodb
skip-bdb
default-storage-engine=myisam
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
# Default to using old password format for compatibility with mysql 3.x
# clients (those using the mysqlclient10 compatibility package).
old_passwords=1


key_buffer_size=600M
max_allowed_packet=16M
table_cache=256
sort_buffer_size=2M
read_buffer_size=2M
join_buffer_size=4M


# Disabling symbolic-links is recommended to prevent assorted security risks;
# to do so, uncomment this line:
# symbolic-links=0
# enable slow query log
#This is a great tool for checking what queries take too long

log-slow-queries=/tmp/slow_queries.log
log-update = /var/lib/mysql/updates.log
# that need to run large queries
read_rnd_buffer_size=3M




max_heap_table_size=256M
tmp_table_size=256M
query_cache_size=8M


myisam_sort_buffer_size=64M




# increase until threads_created doesnt grow anymore
thread_cache=256


# Try number of CPU's*2 for thread_concurrency
thread_concurrency=8


[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid





------------------------------------------------------------------------------------------------------------------------------------------------

شما tmp رو بزار روی tmpfs
منظورتون رو نفهمیدم ...چه طور باید اینکارو بکنم ؟
------------------------------------------------------------------------------------------------------------------------------------------------
Inno Db رو کسی بهم نگفته بود استفاده کنم ... نمیدونم به چه دردی میخوره و کارش چیه..skip-innodb رو بردارم ؟
------------------------------------------------------------------------------------------------------------------------------------------------
این فایل کل slow-queries.log هست .... کلیک کنید (http://worldface.ir/slow.zip)
------------------------------------------------------------------------------------------------------------------------------------------------
اون دستوری هم که دادید زدم یه پیامی داد که من دسترسی ندارم :
mysqlcheck: Got error: 1045: Access denied for user 'root'@'localhost' (using password: NO) when trying to connect

از قدیما این مشکلو داشتم و خیلی جاها این مشکل مطرح شده ولی نتونستم حلش کنم .
------------------------------------------------------------------------------------------------------------------------------------------------

واقعاً سرورم افتضاح شده هر ده دقیقه یک بار ریبوت میشه .... یکسره تیبل های سنگین کرش میکنن و سایت داون میشه ...

iMohsen
January 20th, 2013, 15:27
--------------------------------------------------------------
Inno Db رو کسی بهم نگفته بود استفاده کنم ... نمیدونم به چه دردی میخوره و کارش چیه..skip-innodb رو بردارم ؟
--------------------
این فایل کل slow-queries.log هست .... کلیک کنید (http://worldface.ir/slow.zip)
-------------------
اون دستوری هم که دادید زدم یه پیامی داد که من دسترسی ندارم :
mysqlcheck: Got error: 1045: Access denied for user 'root'@'localhost' (using password: NO) when trying to connect

از قدیما این مشکلو داشتم و خیلی جاها این مشکل مطرح شده ولی نتونستم حلش کنم .
------------------

واقعاً سرورم افتضاح شده هر ده دقیقه یک بار ریبوت میشه .... یکسره تیبل های سنگین کرش میکنن و سایت داون میشه ...

InnoDB یک نوع از Engine های قابل استفاده در mysql هست که باعث میشه سرعت نوشتن در تیبل ها افزایش پیدا کنه ولی اگر در حین کارکرد کرش کنه احتمال از دست رفتن اطلاعات زیاد هست .
برای استفاده از innodb باید نوع Engine مربوط به اون تیبلی که میخواین سرعت نوشتن روش زیاد باشه رو innodb بزارید ( با phpmyadmin هم میشه )

این فایل که گذاشتین یک فایل زیپ هست که خالیه ! چیزی توش نبود !

خب این یک یوزرنیم و پسورد root مربوط به mysql رو میخواد . شما با یکی از راهنماهای زیر میتونید پسورد root مربوط به mysql رو ریست کنید .
root password mysql in kloxo - Web Hosting Talk (http://www.webhostingtalk.com/showthread.php?t=1087973)
MySQL Change root Password (http://www.cyberciti.biz/faq/mysql-change-root-password/)
MySQL Change Password via SSH - Host1Plus.com (http://support.host1plus.com/index.php?/Knowledgebase/Article/View/660/0/mysql-change-password-via-ssh)


و بعد از به دست آوردن پسورد root دستور رو به صورت زیر اجرا کنید :

mysqlcheck -oA --user root -p

یک سوال .
سرور شما چه مقدار فضای خالی داره ؟
خروجی دستور df -h چی هست ؟

Hooramin
January 20th, 2013, 16:30
InnoDB یک نوع از Engine های قابل استفاده در mysql هست که باعث میشه سرعت نوشتن در تیبل ها افزایش پیدا کنه ولی اگر در حین کارکرد کرش کنه احتمال از دست رفتن اطلاعات زیاد هست .
برای استفاده از innodb باید نوع Engine مربوط به اون تیبلی که میخواین سرعت نوشتن روش زیاد باشه رو innodb بزارید ( با phpmyadmin هم میشه )

این فایل که گذاشتین یک فایل زیپ هست که خالیه ! چیزی توش نبود !

خب این یک یوزرنیم و پسورد root مربوط به mysql رو میخواد . شما با یکی از راهنماهای زیر میتونید پسورد root مربوط به mysql رو ریست کنید .
root password mysql in kloxo - Web Hosting Talk (http://www.webhostingtalk.com/showthread.php?t=1087973)
MySQL Change root Password (http://www.cyberciti.biz/faq/mysql-change-root-password/)
MySQL Change Password via SSH - Host1Plus.com (http://support.host1plus.com/index.php?/Knowledgebase/Article/View/660/0/mysql-change-password-via-ssh)


و بعد از به دست آوردن پسورد root دستور رو به صورت زیر اجرا کنید :

mysqlcheck -oA --user root -p

یک سوال .
سرور شما چه مقدار فضای خالی داره ؟
خروجی دستور df -h چی هست ؟

------------------------------------------------------------------------------------------------------------------------------------------------
ببخشید ..پست قبلی آپدیت شد ...و لینک هم تصحیح شد. با حجم 900کیلوبایت تقریباً
یک سوال هم پرسیدم راجع به tmp که گفتین

------------------------------------------------------------------------------------------------------------------------------------------------
فضای سرور 100 گیگه حدود 14 گیگش پر شده ..
Filesystem Size Used Avail Use% Mounted on
/dev/simfs 100G 14G 87G 14% /

------------------------------------------------------------------------------------------------------------------------------------------------
ممنونم ازون دستور و راهنماییتون...innodb رو ایشالا بعد از حل مشکل ریستارت روش کار میکنم ...

------------------------------------------------------------------------------------------------------------------------------------------------
اون دستور رو که اجرا کردم به یک خط رسید : nicefuni_vir.post_userbox_tweets Table is already up to date
همین جا گیر کرد دیگه ادامه نداد مجبور شدم putty رو ببندم از نو باز کنم.

Hooramin
January 21st, 2013, 19:58
دوستان من وب سرور سایت رو گذاشتم رو nginx خالی
الان سرور یک روز و خورده ایه روشنه ...ولی سرعت پایین تر رفته و کاربران هم از چهل پنجاه بیشتر نمیشن ... منابع هم هنوز کلی خالی دارن ...
چی کارش میشه کرد ؟