-
February 25th, 2011, 06:10
#1
عضو انجمن
راهنمایی همکاران حرفه ای برای افزایش سرعت و تنظیم تخصصی فایل etc/my.cnf
با سلام
یکی از سروهای ما مشکل عجیبی با یک سایت داره تا حالا با همچین مشکلی مواجه نشدیم
ما یک سایت داریم با حجم دیتا بیس 290 مگابایت بسیار کند است و ما تمامی کارهایی که میشد رو بر روی این سایت از نظر بهینه سازی و کش انجام دادیم و تمامی صفحات سایت به سیستم کش مجهز شده
ما حتی حجم یکی از جدولهای این دیتا بیس که 300 مگ بود رو 3 تیکه کرده و خیلی کم کردیم
در حال حاظر درخواستی که در این سایت ارسال میشود در برخی اوقات بیش از 20 ثانیه با تاخیر جواب میدهد
در صورتی که رم و سی پی یو مصرف نمیکند
حتی در سایت www.host-tracker.com هم این سایت بررسی شد خیلی سرعت کم هست و با تاخیر 10 تا 60 ثانیه جواب می دهد و با دانلود 2 تا 10 کیلو بایت در ثانیه
لطفا همکاران پیشنهادات و تجربیات خودشون برای بهبود سرعت سایت بر روی سرور رو ارائه بدن
فقط یک سایت روی سرور قرار داره
-------------------------------------
مشخصات
سرور هم eq8 hetzer هست
8 هسته ای
24 گیگ رم
-----------------------------------
تنظیمات apache
ServerLimit 2000
KeepAlive On
KeepAliveTimeout 60
MaxClients 1600
MaxSpareServers 200
MinSpareServers 50
تنظیمات فایل etc/my.cnf هم اینه
#DO NOT MODIFY THE FOLLOWING COMMENTED LINES!
#Created with ELS from www.servermonkeys.com
#els-build=5.0
[mysqld]
local-infile=0
datadir=/var/lib/mysql
skip-locking
skip-networking
safe-show-database
query_cache_limit=1M
query_cache_size=32M ## 32MB for every 1GB of RAM
query_cache_type=1
max_user_connections=300
max_connections=1500
interactive_timeout=10
wait_timeout=20
connect_timeout=20
thread_cache_size=128
key_buffer=128M ## 128MB for every 1GB of RAM
join_buffer=1M
max_connect_errors=20
max_allowed_packet=64M
table_cache=1024
record_buffer=1M
sort_buffer_size=1M ## 1MB for every 1GB of RAM
read_buffer_size=1M ## 1MB for every 1GB of RAM
read_rnd_buffer_size=1M ## 1MB for every 1GB of RAM
thread_concurrency=16 ## Number of CPUs x 2
myisam_sort_buffer_size=64M
server-id=1
collation-server=latin1_general_ci
[mysql.server]
user=mysql
[safe_mysqld]
err-log=/var/log/mysqld.log
pid-file=/var/lib/mysql/mysql.pid
open_files_limit=8192
[mysqldump]
quick
max_allowed_packet=64M
[mysql]
no-auto-rehash
#safe-updates
[isamchk]
key_buffer=64M
sort_buffer=64M
read_buffer=16M
write_buffer=16M
[myisamchk]
key_buffer=64M
sort_buffer=64M
read_buffer=16M
write_buffer=16M
[mysqlhotcopy]
interactive-timeout
به نظر شما ایا اگر mysql رو در هارد 2 تنظیم کنیم تاثیر داره فعلا miror هست
با تشکر از توجهتان
-
-
February 25th, 2011 06:10
# ADS
-
February 25th, 2011, 06:51
#2
عضو انجمن
پاسخ : راهنمایی همکاران حرفه ای برای افزایش سرعت و تنظیم تخصصی فایل etc/my.cnf
اسکریپت بهینه ساز MySQLTuner را امتحان کنید:
کد HTML:
wget http://mysqltuner.com/mysqltuner.pl
chmod +x mysqltuner.pl
./mysqltuner.pl
این اسکریپت وضعیت دیتابیس را تحلیل می کند و در نهایت توصیه های مفیدی ارائه می دهد. آن توصیه ها را اعمال کنید و نتیجه را ببینید.
البته توصیه می شود که برای تحلیل دقیق تر بهتر است قبل از ران این اسکریپت دیتابیس تان حداقل ۲۴ ساعت آپ بوده باشد.
---------- Post added at 03:12 AM ---------- Previous post was at 02:59 AM ----------
به عنوان یک حدس خام :
اگر مشکل رم ندارید
query_cache_size=128M یا حتی بیشتر
بگذارید. بیشترکردن حجم کش کوئری ها معمولا به افزایش سرعت کمک می کند.
---------- Post added at 03:21 AM ---------- Previous post was at 03:12 AM ----------
توصیه دیگر: با mysqlcheck استفاده کنید که به طور اتوماتیک دیتابیس را چک و تعمیر می کند. با این فرمان
کد:
mysqlcheck -uroot -pxxxxx --auto-repair --optimize --databases broken_db
توجه کنید که xxxxx پسورد دیتابیس است که باید بدون فاصله از -p بیاید.
ویرایش توسط dude : February 25th, 2011 در ساعت 07:10
-
تعداد تشکر ها از dude به دلیل پست مفید
-
February 25th, 2011, 07:46
#3
عضو انجمن
پاسخ : راهنمایی همکاران حرفه ای برای افزایش سرعت و تنظیم تخصصی فایل etc/my.cnf
خیلی لطفا کردین دوست عزیز در حال بررسی و نصب این اسریپت هستم خبرشو بهتون میدم
---------- Post added at 07:19 AM ---------- Previous post was at 07:15 AM ----------
MySQLTuner نصب کردم اما در کجا مشخص هست در whm گزینه ای اضافه نشده
---------- Post added at 07:46 AM ---------- Previous post was at 07:19 AM ----------
ظاهرا مقادیری که در بخش Recommendations باید نمایش داده بشه هنوز چیزی ثبت نکرده
-
-
February 25th, 2011, 12:13
#4
پاسخ : راهنمایی همکاران حرفه ای برای افزایش سرعت و تنظیم تخصصی فایل etc/my.cnf
من فکر نمی کنم از دیتابیس باشه
شما صفحات static را هم بررسی کن ببین با تاخیر لود میشن یا نه
اگه با تاخیر لود بشن از apache هست ، بگو تا بگم چه کار کنی
-
تعداد تشکر ها از alirezak به دلیل پست مفید
-
February 25th, 2011, 18:04
#5
عضو انجمن
پاسخ : راهنمایی همکاران حرفه ای برای افزایش سرعت و تنظیم تخصصی فایل etc/my.cnf

نوشته اصلی توسط
alirezak
من فکر نمی کنم از دیتابیس باشه
شما صفحات static را هم بررسی کن ببین با تاخیر لود میشن یا نه
اگه با تاخیر لود بشن از apache هست ، بگو تا بگم چه کار کنی
مرسی همکار گرامی لطفا پیشنهاد خودتون رو اعلام کنید در مورد تنظیمات apache
-
-
March 13th, 2011, 05:03
#6
عضو انجمن
پاسخ : راهنمایی همکاران حرفه ای برای افزایش سرعت و تنظیم تخصصی فایل etc/my.cnf

نوشته اصلی توسط
alirezak
من فکر نمی کنم از دیتابیس باشه
شما صفحات static را هم بررسی کن ببین با تاخیر لود میشن یا نه
اگه با تاخیر لود بشن از apache هست ، بگو تا بگم چه کار کنی
دوست عزیز صفحات استاتیک خیلی زود لود میشه تنها صفحاتی که اطلاعات از دیتا بیس خونده میشه خیلی کنده
-
-
March 13th, 2011, 05:20
#7
پاسخ : راهنمایی همکاران حرفه ای برای افزایش سرعت و تنظیم تخصصی فایل etc/my.cnf
با دروود و اجازه بزرگان
اگر برایتان میسز است این دگرگونی ها را نیز به کار ببندید:
[mysqld]
max_connections = 800
key_buffer = 36M
myisam_sort_buffer_size = 64M
join_buffer_size = 2M
read_buffer_size = 2M
sort_buffer_size = 3M
table_cache = 1024
thread_cache_size = 286
interactive_timeout = 25
wait_timeout = 1800
connect_timeout = 10
max_allowed_packet = 16M
max_connect_errors = 10
query_cache_limit = 1M
query_cache_size = 16M
query_cache_type = 1
tmp_table_size = 16M
skip-innodb
[mysqld_safe]
open_files_limit = 8192
[mysqldump]
quick
max_allowed_packet = 16M
[myisamchk]
key_buffer = 64M
sort_buffer = 64M
read_buffer = 16M
write_buffer = 16M
-
تعداد تشکر ها از saeed25 به دلیل پست مفید
-
March 13th, 2011, 05:54
#8
عضو انجمن
پاسخ : راهنمایی همکاران حرفه ای برای افزایش سرعت و تنظیم تخصصی فایل etc/my.cnf

نوشته اصلی توسط
saeed25
با دروود و اجازه بزرگان
اگر برایتان میسز است این دگرگونی ها را نیز به کار ببندید:
[mysqld]
max_connections = 800
key_buffer = 36M
myisam_sort_buffer_size = 64M
join_buffer_size = 2M
read_buffer_size = 2M
sort_buffer_size = 3M
table_cache = 1024
thread_cache_size = 286
interactive_timeout = 25
wait_timeout = 1800
connect_timeout = 10
max_allowed_packet = 16M
max_connect_errors = 10
query_cache_limit = 1M
query_cache_size = 16M
query_cache_type = 1
tmp_table_size = 16M
skip-innodb
[mysqld_safe]
open_files_limit = 8192
[mysqldump]
quick
max_allowed_packet = 16M
[myisamchk]
key_buffer = 64M
sort_buffer = 64M
read_buffer = 16M
write_buffer = 16M
دوست عزیز تغییرات شما را انجام دادیم اما سرعت کمی بهتر شد البته ما تنظیماتی که در اولین توضیحات تاپیک هست بارها تغییر دادیم اما نتیجه مناسبی نگرفتیم
یک سوال تعداد رکوردهای دیتابیس id آگهی ها 230000 تا هست که باید نمایش داده بشه الان این شماره 8 رقمی هست یعنی 10834324 اگر اونها رو 6 رقمی کنیم به نظر شما تاثیری داره
مثلا فلان آگهی که درخواست کوئری ارسال میشه از 10 میلیون به زیر میلیون برسه چه قدر میتونه تاثیر گذار باشه
-
-
March 13th, 2011, 12:00
#9
عضو دائم
پاسخ : راهنمایی همکاران حرفه ای برای افزایش سرعت و تنظیم تخصصی فایل etc/my.cnf
مشکل شما از کوئری های کند یا همان slow query هست که باید آنها را شناسایی و اصلاح کنید
شرکت هاستینگ ایفاکو
سایت رسمی : IFACO.NET
هاستینگی تخصصی و مطمئن برای ایرانیان عزیز
...: كسی كه ارزش خود را بشناسد، خويشتن را با امور فناپذير خوار نمیسازد :...
-
تعداد تشکر ها از IFACO.Net به دلیل پست مفید
-
March 14th, 2011, 20:07
#10
عضو انجمن
پاسخ : راهنمایی همکاران حرفه ای برای افزایش سرعت و تنظیم تخصصی فایل etc/my.cnf
با تشکر در حال پیگیری این موضوع هستیم و ساختار ایندکس گذاری جدولهای دیتا بیس را قصد داریم از mysam به innodb تغییر دهیم
-