PDA

توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : راهنمایی همکاران حرفه ای برای افزایش سرعت و تنظیم تخصصی فایل etc/my.cnf



iranwebshop
February 25th, 2011, 06:10
با سلام

یکی از سروهای ما مشکل عجیبی با یک سایت داره تا حالا با همچین مشکلی مواجه نشدیم

ما یک سایت داریم با حجم دیتا بیس 290 مگابایت بسیار کند است و ما تمامی کارهایی که میشد رو بر روی این سایت از نظر بهینه سازی و کش انجام دادیم و تمامی صفحات سایت به سیستم کش مجهز شده

ما حتی حجم یکی از جدولهای این دیتا بیس که 300 مگ بود رو 3 تیکه کرده و خیلی کم کردیم

در حال حاظر درخواستی که در این سایت ارسال میشود در برخی اوقات بیش از 20 ثانیه با تاخیر جواب میدهد

در صورتی که رم و سی پی یو مصرف نمیکند

حتی در سایت www.host-tracker.com (http://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 (http://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 هست

با تشکر از توجهتان

dude
February 25th, 2011, 06:51
اسکریپت بهینه ساز MySQLTuner (http://rackerhacker.com/mysqltuner/) را امتحان کنید:


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 بیاید.

iranwebshop
February 25th, 2011, 07:46
خیلی لطفا کردین دوست عزیز در حال بررسی و نصب این اسریپت هستم خبرشو بهتون میدم

---------- Post added at 07:19 AM ---------- Previous post was at 07:15 AM ----------

MySQLTuner (http://rackerhacker.com/mysqltuner/) نصب کردم اما در کجا مشخص هست در whm گزینه ای اضافه نشده

---------- Post added at 07:46 AM ---------- Previous post was at 07:19 AM ----------

ظاهرا مقادیری که در بخش Recommendations باید نمایش داده بشه هنوز چیزی ثبت نکرده

alirezak
February 25th, 2011, 12:13
من فکر نمی کنم از دیتابیس باشه
شما صفحات static را هم بررسی کن ببین با تاخیر لود میشن یا نه
اگه با تاخیر لود بشن از apache هست ، بگو تا بگم چه کار کنی

iranwebshop
February 25th, 2011, 18:04
من فکر نمی کنم از دیتابیس باشه
شما صفحات static را هم بررسی کن ببین با تاخیر لود میشن یا نه
اگه با تاخیر لود بشن از apache هست ، بگو تا بگم چه کار کنی

مرسی همکار گرامی لطفا پیشنهاد خودتون رو اعلام کنید در مورد تنظیمات apache

iranwebshop
March 13th, 2011, 05:03
من فکر نمی کنم از دیتابیس باشه
شما صفحات static را هم بررسی کن ببین با تاخیر لود میشن یا نه
اگه با تاخیر لود بشن از apache هست ، بگو تا بگم چه کار کنی

دوست عزیز صفحات استاتیک خیلی زود لود میشه تنها صفحاتی که اطلاعات از دیتا بیس خونده میشه خیلی کنده

saeed25
March 13th, 2011, 05:20
با دروود و اجازه بزرگان
اگر برایتان میسز است این دگرگونی ها را نیز به کار ببندید:
[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

iranwebshop
March 13th, 2011, 05:54
با دروود و اجازه بزرگان
اگر برایتان میسز است این دگرگونی ها را نیز به کار ببندید:
[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 میلیون به زیر میلیون برسه چه قدر میتونه تاثیر گذار باشه

IFACO.Net
March 13th, 2011, 12:00
مشکل شما از کوئری های کند یا همان slow query هست که باید آنها را شناسایی و اصلاح کنید

iranwebshop
March 14th, 2011, 20:07
با تشکر در حال پیگیری این موضوع هستیم و ساختار ایندکس گذاری جدولهای دیتا بیس را قصد داریم از mysam به innodb تغییر دهیم