ورود

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



iranian-portal
January 10th, 2013, 15:57
با سلام
دوستان سایتی با سیستم ورپرس و بازدیدمیانگین تا 5 هزار آی پی در روز داریم
مصرف سی پی یو این سایت به تنهایی تا 12 گیگاهترز بالا میره!!!!!!!!!
لینوکس سنتوس و کنترل پنل کلوکسو نصب شده
و بعد از نصب هیچ کانفیگ و تنظیماتی انجام نشده!

بسیاری از اساتید گرامی نظر به کانفیگ نبودن mysql دادن که اگر کانفیگ بشه مصرف سی پی یو هم درست میشه
اما ارقامی که برای کانفیگ ارائه کردند از 40 تا 300 هزار تومان بود
که متاستفانه پرداخت مبلغ کانفیگ برای من چاره کار نیست!
بدون حاشیه و تعارف عرض کنم چنین پولی ندارم که برای کانفیگ پرداخت کنم
دوستان و اساتید هم وقت ارزشمندشون رو در ایران مجانی در اختیار کسی نمیزارن خوب!

کمکی که از دوستان می خواستم اینه که فقط نظرشون رو در مورد کانفیگ زیر برای سروری با 2گیگ رم و 2گیگاهرتز سی پی یو بدن



[mysqld]
tmpdir=/tmp
socket=/tmp/mysql.sock
skip-locking
skip-networking
skip-name-resolve


server-id=1


max_connections=500
key_buffer_size=384M
max_allowed_packet=16M
table_cache=256
sort_buffer_size=2M
read_buffer_size=2M
join_buffer_size=2M


# if you are performing GROUP BY or ORDER BY queries on tables that
# are much larger than your available memory, you should increase
# the value of read_rnd_buffer_size to speed up the reading of rows
# following sorting operations.
# but: change the session variable only from within those clients
# that need to run large queries
read_rnd_buffer_size=2M


max_heap_table_size=256M
tmp_table_size=256M


myisam_sort_buffer_size=64M


# increase until threads_created doesnt grow anymore
thread_cache=256


query_cache_type=1
query_cache_limit=1M
query_cache_size=32M


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




[mysqldump]
quick
max_allowed_packet=16M


[mysql]
no-auto-rehash


[isamchk]
key_buffer=128M
sort_buffer_size=128M
read_buffer=2M
write_buffer=2M


[myisamchk]
key_buffer=128M
sort_buffer_size=128M
read_buffer=2M
write_buffer=2M


[mysqlhotcopy]
interactive-timeout



نظر حرفه ای تون رو در مورد این کانفیگ برای یک سایت وردپرسی پر فشار روی کنترل پنل کلوکسو بدید لطفا
اگر نکته ای مطلبی آموزشی چیزی بود ممنون میشم :53:

doomhammer65ir
January 10th, 2013, 16:37
یه سایت با 5000 آی پی روزانه ماهی 300 تومن در نمیاره ؟
انقدر نت ایران به ف** رفته ؟‌!!
===========================

http://www.howtoforge.com/tuning-mysql-performance-with-mysqltuner

SASHAELIT
January 10th, 2013, 18:02
دوست عزیز همه چیز بسیار عالی و حرفه ای طراحی و نوشته شده.طوری که خود بنده از آن کپیبرداری کردم.
اما این تنها کافی نیست...یادتان باشد برای عمل کرد بهتر و سریع تر حتما افزونه هایی که نصب میکنید را چک کنید.....
از دی داس استفاده کنید
و در آخر هر چند دقیقه mysql را ریسیت بدید.

fr0nk
January 10th, 2013, 18:08
کانفیگ تو چک کلی کانفیگ عالی ای نیست ( از چیش کپی برداری کردید ؟)

از داداس استفاده کنن ؟ میشه منظورتون رو توضیح بدید ما از جهل در بیایم ( DDOS تا اونجایی که من میدونم یک حمله برای جلوگیری از سرویس دهیه مگه اینکه منظور شما چیز دیگه ای باشه که ممنون میشم توضیح بدید!!!!)

هر چند دقیقه ریست mysql ؟یعنی هر چند دقیقه چند ثانیه قعطی :|

پ.ن:فقط mysql رو چک نکنید

کانفیگ وب سرور اصلی رو هم چک کنید + سرویس هایی که بالاس /0 وب سرور چی هست ؟)

پ.ن 2 : پیغام خصوصیتون رو چک کنید

sudo
January 10th, 2013, 18:11
بهترین راه اینه که سرور Database تون رو جدا کنید

یا حداقل به وسیله برنامه MySQL tunner اس کی یو ال سرور خودتان را تنظیم کنید
Tuning MySQL Performance with MySQLTuner | HowtoForge - Linux Howtos and Tutorials (http://www.howtoforge.com/tuning-mysql-performance-with-mysqltuner)

موفق باشید

fr0nk
January 10th, 2013, 18:24
این اسکریپت رو هم یکی از دوستان معرفی کردند من خودم اینو تست نکردم

خروجی رو بگیرید یکم دستکاری کنید بقیشم میشه تست

ببینید کی به usage مورد نظرتون میرسید
http://www.day32.com/MySQL/tuning-primer.sh

allbert
January 10th, 2013, 18:43
رم رو ارتقا بدید

بار گذاری دیتابیس رو بیشتر روی رم بیارید تا سرعت پردازش سی پی یو بالاتر به

چک کنید ببینید اگر درصد استفاده از سی پی یو در زمان کمترین بازدید چقدر هست اگر غیر عادی هست یا یک کورلی کرش کرده یا یک پلاگین باید غیر فعال یا تعمیر بشه

موفق باشید

sudo
January 11th, 2013, 12:10
فکر نکنم شما توانایی مالی (همان طوری که فرمودید) ارتقای سخت افزار سرورتان را داشته باشید ، پس همین طور توانایی ایجاد یک Database Server External هم ندارید.

و یه مورد دیگه که باید بگم خدمتتون اینه که خود برنامه msyql tunner میاد طبق مشخصات سخت افزاری شما پارامتر های my.cnf را مقدار دهی میکنه ...
و این واحد محاسبه برنامه Mysql tunner خیلی بهتر عمل میکنه تا علم و تجربه من و دوستان

iranian-portal
January 11th, 2013, 15:21
تشکر از پیگیری تمامی دوستان و اساتید
توصیه ها و به خصوص
برنامه Mysql tunner رو اجرا کردم
چند ساعتی عملکرد رو مانیتور کنم نتیجه رو اعلام می کنم

SASHAELIT
January 11th, 2013, 22:40
سلام مجدد..دوست عزیز من مدیر یک شبکه اجتماعی رسمی هستم.......دیتا بیس یک مشکل جدی برای من بوده..من چندین وی پی اس رو مدیریت میکردم......اکنون به شما اطمینان میدم که مشکل کند شدن ناگهانی یک وی پی اس بعد از مررو یک یا دو ماه از تنظیمات این کانفیگ تنها نیست..
بنده شب و روز روی فایل my.conf کار کردم و در نهایت به یک نتیجه کلی رسیدم......

اکنون اینو اینجا قرار میدم.....تا همه شما عزیزان استفاده کنید
[mysqld]
socket = /var/lib/mysql/mysql.sock
safe-show-database
old-password=1
max_connections=151
interactive_timeout=50
wait_timeout=10
connect_timeout=10
thread_cache_size=0
key_buffer=7M
join_buffer=1M
max_allowed_packet=16M
table_cache=1024
sort_buffer=2M
record_buffer=2M
thread_cache_size=128
max_user_connections=30
read_rnd_buffer_size=256k
low_priority_updates=1
concurrent_insert=2


thread_concurrency=4
myisam_sort_buffer_size=141M
query_cache_limit=2M
query_cache_size=2M
query_cache_type=1


old-passwords = 1

توجه توجه
در صورتی که سرور شما بعد از مدت یک ماه یا دو ماه شدیدا کند شده...این مشکل از بازدید بالا یا کم بود منابع نیست......نیاز به ارتقاع ندارید.. بنده تنها با دریافت هزینه سرور شما را درست مانند روز اول که خریداری کرده بودید روان و سریع کرده و به شما تحویل خواهم داد....
هر کسی که دیتا بیس آن کند میشود بعد از عبور آپ تایم سرور از چند دقیقه کلا سرور دان میشود....من با تضمین اعلام میکنم نیاز به ارتقاع ندارید و به من بسپارید. با تشکر

Hooramin
January 13th, 2013, 00:24
تشکر از پیگیری تمامی دوستان و اساتید
توصیه ها و به خصوص
برنامه Mysql tunner رو اجرا کردم
چند ساعتی عملکرد رو مانیتور کنم نتیجه رو اعلام می کنم

\
عزیز نتیجه چی شد ؟؟؟ بگو برای ماهم تجربه شه

iranian-portal
January 13th, 2013, 15:03
سلام مجدد
اسکریپت معرفی شده بسیار کارآمد هست مشکل رو تا حدی زیادی حل کرده
شکر خدا از لحظه ای که پیشنهادات رو اعمال کردم MYSQL استاپ نشده و کار می کنه
مصرف سی پی یو هم نرمال شده و بین 800 مگاهرتز تا 2 گیگاهرتز کار می کنه

اما

هنوز اکثر اوقات مصرف ناگهان به 11 تا 15 گیگاهرتز سی پی یو میرسه (ولی خوشبختانه استاپ نمیشه ای اس کیو ال)
مجدد اسکریپت رو اجرا کردم نکته عجیبی برام وجود داره!!!!

با وجود این که مقادیر پیشنهادی رو در my.cnf اضافه کردم
بازهم دو مقدار زیر رو هربار که اجرا می کنم پیشنهاد میده



tmp_table_size (> 32M)
max_heap_table_size (> 16M)


امروز که مجدد تست کردم اسکریپ رو کل مقادیر رو مجدد پیشنهاد داده بود اضافه کنم
البته قابل ذکره که مقادیر همون مقادیر قبل بود!!!
عجیبه با این که در فایل my.cnf وجود داره بازهم پیشنهاد میده!!!

کسی می دونه علت چیه؟؟؟

این هم کل محتویات my.cnf بنده



[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
skip-innodb
skip-bdb
max_connections=100
wait_timeout=28800
interactive_timeout=28800
query_cache_size=8M
tmp_table_size=32M
max_heap_table_size=16M
thread_cache_size=4
table_cache= 64


# Default to using old password format for compatibility with mysql 3.x
# clients (those using the mysqlclient10 compatibility package).
old_passwords=1

# To allow mysqld to connect to a MySQL Cluster management daemon, uncomment
# these lines and adjust the connectstring as needed.
#ndbcluster
#ndb-connectstring="nodeid=4;host=localhost:1186"


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

[ndbd]
# If you are running a MySQL Cluster storage daemon (ndbd) on this machine,
# adjust its connection to the management daemon here.
# Note: ndbd init script requires this to include nodeid!
connect-string="nodeid=2;host=localhost:1186"


[ndb_mgm]
# connection string for MySQL Cluster management tool
connect-string="host=localhost:1186"






کسی میدونه چرا بازم میگه مقادیر زیر رو اضافه کنم؟؟؟ (با وجود این که این مقادیر موجوده)


max_connections (> 100) wait_timeout (< 28800)
interactive_timeout (< 28800)
query_cache_size (> 8M)
tmp_table_size (> 32M)
max_heap_table_size (> 16M)
table_cache (> 64)

fr0nk
January 13th, 2013, 15:13
سلام مجدد
اسکریپت معرفی شده بسیار کارآمد هست مشکل رو تا حدی زیادی حل کرده
شکر خدا از لحظه ای که پیشنهادات رو اعمال کردم MYSQL استاپ نشده و کار می کنه
مصرف سی پی یو هم نرمال شده و بین 800 مگاهرتز تا 2 گیگاهرتز کار می کنه

اما

هنوز اکثر اوقات مصرف ناگهان به 11 تا 15 گیگاهرتز سی پی یو میرسه (ولی خوشبختانه استاپ نمیشه ای اس کیو ال)
مجدد اسکریپت رو اجرا کردم نکته عجیبی برام وجود داره!!!!

با وجود این که مقادیر پیشنهادی رو در my.cnf اضافه کردم
بازهم دو مقدار زیر رو هربار که اجرا می کنم پیشنهاد میده



tmp_table_size (> 32M)
max_heap_table_size (> 16M)


امروز که مجدد تست کردم اسکریپ رو کل مقادیر رو مجدد پیشنهاد داده بود اضافه کنم
البته قابل ذکره که مقادیر همون مقادیر قبل بود!!!
عجیبه با این که در فایل my.cnf وجود داره بازهم پیشنهاد میده!!!

کسی می دونه علت چیه؟؟؟

این هم کل محتویات my.cnf بنده



[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
skip-innodb
skip-bdb
max_connections=100
wait_timeout=28800
interactive_timeout=28800
query_cache_size=8M
tmp_table_size=32M
max_heap_table_size=16M
thread_cache_size=4
table_cache= 64


# Default to using old password format for compatibility with mysql 3.x
# clients (those using the mysqlclient10 compatibility package).
old_passwords=1

# To allow mysqld to connect to a MySQL Cluster management daemon, uncomment
# these lines and adjust the connectstring as needed.
#ndbcluster
#ndb-connectstring="nodeid=4;host=localhost:1186"


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

[ndbd]
# If you are running a MySQL Cluster storage daemon (ndbd) on this machine,
# adjust its connection to the management daemon here.
# Note: ndbd init script requires this to include nodeid!
connect-string="nodeid=2;host=localhost:1186"


[ndb_mgm]
# connection string for MySQL Cluster management tool
connect-string="host=localhost:1186"






کسی میدونه چرا بازم میگه مقادیر زیر رو اضافه کنم؟؟؟ (با وجود این که این مقادیر موجوده)


max_connections (> 100) wait_timeout (< 28800)
interactive_timeout (< 28800)
query_cache_size (> 8M)
tmp_table_size (> 32M)
max_heap_table_size (> 16M)
table_cache (> 64)




شما اعداد دقیق نده

مثلا گفته max_connection بیشتر از 100

شما بده 110 مثلا

بعد تست کن احتمالا درست میشه (نتیجشم اعلام کنید دوستان دیگه استفاده کنن)

se9en
January 13th, 2013, 15:19
این اسکریپت رو هم یکی از دوستان معرفی کردند من خودم اینو تست نکردم

خروجی رو بگیرید یکم دستکاری کنید بقیشم میشه تست

ببینید کی به usage مورد نظرتون میرسید
http://www.day32.com/MySQL/tuning-primer.sh

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

iranian-portal
January 13th, 2013, 15:20
شما اعداد دقیق نده

مثلا گفته max_connection بیشتر از 100

شما بده 110 مثلا

بعد تست کن احتمالا درست میشه (نتیجشم اعلام کنید دوستان دیگه استفاده کنن)

تشکر از پیگیری و راهنمایی شما اساتید که بدون چشم داشت به فکر من و امثال من هستید :53:

چشم حتما نتیجه رو اعلام می کنم و در صورت امکان وقتی نتیجه حتمی و مطلوب حاصل شد
تاپیک آموزشی کاملی در این رابطه میزنم که با کمک شما عزیزان کاملتر بشه
بعد از این کانفیگ هم میریم سراغ httpd :-p

iranian-portal
January 13th, 2013, 15:43
مقادیر رو با بالانس کم و زیادی که پیشنهاد داده بود قرار دادم
اما هنوز روی سه مقدار تاکید بر مقدار کمتر داره



query_cache_size (> 1M)
tmp_table_size (> 4M)
max_heap_table_size (> 1M)


کمتر از یک مگابایت چه مقداری وارد کنم؟
مثلا بزنم

512K
یا راه حل دیگه ای برای مقدار کمتر از یک مگابایت وجود داره؟

doomhammer65ir
January 13th, 2013, 15:49
اونا که بیشتره از یک مگابایته :


query_cache_size (> 1M) tmp_table_size (> 4M) max_heap_table_size (> 1M)
به گمانم این میگه بیشتر از فلان مقدار نه کمتر . آخه 1 مگابایت چیه شما بیای کمترش هم کنی

fr0nk
January 13th, 2013, 18:16
اره دیگه گفته بیشتر از 1 مگابایت

max_heap_table_size (> 1M)

hedayatix
January 13th, 2013, 21:00
سلام مجدد
اسکریپت معرفی شده بسیار کارآمد هست مشکل رو تا حدی زیادی حل کرده
شکر خدا از لحظه ای که پیشنهادات رو اعمال کردم MYSQL استاپ نشده و کار می کنه
مصرف سی پی یو هم نرمال شده و بین 800 مگاهرتز تا 2 گیگاهرتز کار می کنه

اما

هنوز اکثر اوقات مصرف ناگهان به 11 تا 15 گیگاهرتز سی پی یو میرسه (ولی خوشبختانه استاپ نمیشه ای اس کیو ال)
مجدد اسکریپت رو اجرا کردم نکته عجیبی برام وجود داره!!!!

با وجود این که مقادیر پیشنهادی رو در my.cnf اضافه کردم
بازهم دو مقدار زیر رو هربار که اجرا می کنم پیشنهاد میده



tmp_table_size (> 32M)
max_heap_table_size (> 16M)


امروز که مجدد تست کردم اسکریپ رو کل مقادیر رو مجدد پیشنهاد داده بود اضافه کنم
البته قابل ذکره که مقادیر همون مقادیر قبل بود!!!
عجیبه با این که در فایل my.cnf وجود داره بازهم پیشنهاد میده!!!

کسی می دونه علت چیه؟؟؟

این هم کل محتویات my.cnf بنده



[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
skip-innodb
skip-bdb
max_connections=100
wait_timeout=28800
interactive_timeout=28800
query_cache_size=8M
tmp_table_size=32M
max_heap_table_size=16M
thread_cache_size=4
table_cache= 64


# Default to using old password format for compatibility with mysql 3.x
# clients (those using the mysqlclient10 compatibility package).
old_passwords=1

# To allow mysqld to connect to a MySQL Cluster management daemon, uncomment
# these lines and adjust the connectstring as needed.
#ndbcluster
#ndb-connectstring="nodeid=4;host=localhost:1186"


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

[ndbd]
# If you are running a MySQL Cluster storage daemon (ndbd) on this machine,
# adjust its connection to the management daemon here.
# Note: ndbd init script requires this to include nodeid!
connect-string="nodeid=2;host=localhost:1186"


[ndb_mgm]
# connection string for MySQL Cluster management tool
connect-string="host=localhost:1186"






کسی میدونه چرا بازم میگه مقادیر زیر رو اضافه کنم؟؟؟ (با وجود این که این مقادیر موجوده)


max_connections (> 100) wait_timeout (< 28800)
interactive_timeout (< 28800)
query_cache_size (> 8M)
tmp_table_size (> 32M)
max_heap_table_size (> 16M)
table_cache (> 64)




دوست عزیز من هم روی وی.پی.اس شرایط مشابه شما رو دارم (البته با وردپرس نیست) و از کانفیگ پیش فرض خود MySQL و Kloxo استفاده کردم (فایل /usr/share/mysql/mysql-huge.cnf ) و مشکلی ندارم. البته گفتم از وردپرس استفاده نمی کنم.
اما سوالم اینه که شما روی VPS میزان استفاده CPU رو چطور می بینی؟ لود که منظورت نیست؟ چون به مگاهرتز اشاره کردی. آیا پکیج خاصی نصب کردی یا از روی لاگ های VmWare می گی؟ و یا راه دیگه ای؟

iranian-portal
January 14th, 2013, 13:23
دوست عزیز من هم روی وی.پی.اس شرایط مشابه شما رو دارم (البته با وردپرس نیست) و از کانفیگ پیش فرض خود MySQL و Kloxo استفاده کردم (فایل /usr/share/mysql/mysql-huge.cnf ) و مشکلی ندارم. البته گفتم از وردپرس استفاده نمی کنم.
اما سوالم اینه که شما روی VPS میزان استفاده CPU رو چطور می بینی؟ لود که منظورت نیست؟ چون به مگاهرتز اشاره کردی. آیا پکیج خاصی نصب کردی یا از روی لاگ های VmWare می گی؟ و یا راه دیگه ای؟

سرور اختصاصی هست دوست خوبم از روی مصرف منابع Vmware مقادیر رو استخراج می کنم



اره دیگه گفته بیشتر از 1 مگابایت

max_heap_table_size (> 1M)

ریاضیاتم منگ زده بود درست می گین علامتش بزرگتره :دی

fr0nk
January 14th, 2013, 13:26
البته اینم بگم کمتر از 1 هم میشه گذاشت ( برای رم های کمتر)

اینجوری میشه مثلا :



query_cache_size=512k