سلام
بچه ها بهترین کانفیگ برای فایل mysql چیه؟ اصلا بر چه اساسی این عددهای max connection اینا باید مشخص بشه؟ مثلا برای سایتی با بازدید بیش از 100000 آی پی در روز چه کانفیگی مناسبه برای max connection , timeout, buffer & ... ?
نمایش نسخه قابل چاپ
سلام
بچه ها بهترین کانفیگ برای فایل mysql چیه؟ اصلا بر چه اساسی این عددهای max connection اینا باید مشخص بشه؟ مثلا برای سایتی با بازدید بیش از 100000 آی پی در روز چه کانفیگی مناسبه برای max connection , timeout, buffer & ... ?
اینم یک نمونه از این فایل. من یکبار این ارقام رو دادم سایت طرف گاهی اوقات ارور max user connection میداد
max_connections=500
interactive_timeout=100
wait_timeout=30
connect_timeout=30
thread_cache_size=8
key_buffer=32M
join_buffer=8M
max_allowed_packet=32M
table_cache=1024
sort_buffer=32M
record_buffer=8M
thread_cache_size=128
max_user_connections=30
thread_concurrency=4
myisam_sort_buffer_size=64M
query_cache_limit=2M
query_cache_size=32M
query_cache_type=1
old-passwords = 1
[safe_mysqld]
err-log=/var/log/mysqld.log
open_files_limit=8192
[mysqldump]
quick
max_allowed_packet=32M
[mysql]
no-auto-rehash
# Remove the next comment character if you are not familiar with SQL
#safe-updates
[isamchk]
key_buffer=64M
sort_buffer=64M
read_buffer=16M
write_bufer=16M
[myisamchk]
key_buffer=64M
sort_buffer=64M
read_buffer=16M
write_buffer=16M
[mysqlhotcopy]
interactive-timeout
الان روی این کانفیگ شده و دیگه ارور max connection رو نمیده ولی خب لود بالای 15 هست.
نقل قول:
wait_timeout=60
query_cache_type=1
connect_timeout=60
thread_cache_size = 100
max_connections = 512
query_cache_size = 60M
table_cache = 3000
open_files_limit = 6500
max_heap_table_size = 1025M
tmp_table_size = 1024M
low_priority_updates=1
concurrent_insert=2
key_buffer_size=1000M
sort_buffer_size=8M
ft_min_word_len=3
بستگی به سخت افزارت هم داره..
مشخصات سرور:
12 گیگ رم
CPU Intel i7 Eight Core 2.5
اینم کانفیگ آپاچی:
نقل قول:
ServerRoot "/etc/httpd"
Listen 80
Timeout 300
KeepAlive off
MinSpareServers 8
MaxSpareServers 13
MaxRequestsPerChild 50
HostnameLookups Off
ممنون از راهنمایی دوستان !
سلام.
براي سيو كردن متن فايل my.cnf بايد چه كار كرد ؟؟؟
ممنون
برای ویرایش nano /etc/my.cnf
برای ذخیره پس از اعمال تغییرات ctrl + x و سپس با دکمه y تایید و مجدد نام رو تایید میکنیم.
جستجو کنید اینها آموزش های مبتدی لینوکس هست که بارها توضیح داده شده.
بعد از ذخیره فایل
service mysql restart
رو بزنید تا سرویس مجدد راه اندازی بشه و تغییرات اعمال بشه.
روی Mysql حمله ندارید؟
با دستور روبرو تست کنید:
کد:netstat -autpn | grep :3306 | awk '{print $5}' | cut -d. -f1-4 | cut -d: -f1 | sort -n | uniq -c | sort -n
منم چند مشکل دارم ب اینجا رسیدم my.cnf
مشکل من یکی هنگام ایمپورت دیتابیس هست max_allowed_packet ، یکی حجم آپلود فایلها ک میخوام بیشتر کنم !!! در دایرکت ادمین!!
با دستور باز میکنم و برای ادیت کردن مشکل دارم و ذخیره نمیشه!!! خودش دو خط بیشتر نیست!!!
nano /etc/my.cnf
ctrl+x بعد y اینتر با این روبرو میشمکد:[mysqld]
local-infile=0
کد:Error writing /etc/my.cnf: Permission denied
[mysqld]
local-infile=0
#datadir=/var/lib/mysql
#socket=/var/lib/mysql/mysql.sock
skip-locking
skip-innodb
key_buffer = 16K
table_cache = 4
sort_buffer_size = 64K
read_buffer_size = 256K
read_rnd_buffer_size = 256K
net_buffer_length = 2K
max_allowed_packet=64M
thread_stack = 64K
query_cache_limit=1M
query_cache_size=16M
query_cache_type=1
max_connections=400
interactive_timeout=70
wait_timeout=25
connect_timeout=10
thread_cache_size=128
max_connect_errors=10
# Try number of CPU's*2 for thread_concurrency
thread_concurrency=4
myisam_sort_buffer_size=64M
log-bin
server-id=1
[mysqldump]
quick
max_allowed_packet=64M
[mysql]
no-auto-rehash
#safe-updates
[isamchk]
key_buffer = 8M
sort_buffer_size = 8M
[myisamchk]
key_buffer = 8M
sort_buffer_size = 8M
[mysqlhotcopy]
interactive-timeout
کانفیگ mysql باید متناسب با رم سرور + نوع استفاده از دیتابیس و حجم اطلاعات ذخیره شده باشد.
از این اسکریپت می توانید کمک بگیرید (باید 24 ساعت سرویس مای اس کیو ال در حال اجرا بوده باشد):
http://mysqltuner.pl/mysqltuner.pl
میشه بیشتر توضیح بدهید
24 ساعت خود سرویس mysql
ران بوده
این تا اینجا
نصب mysqltuner.pl
میتویند توضیح بدیهید دقیق
کانفیگ سالم آن را
نصب لازم نداره
وارد ssh بشوید
بزنید
فایل دانلود می شود و بعد بزنیدکد:wget mysqltuner.pl
اگر mysql پسورد روی اکنت root دارد وارد کنید اگر پسورد ندارد که برنامه اجرا می شود.کد:perl mysqltuner.pl
خروجی برنامه مشابه این است:
کد:>> MySQLTuner 1.2.0 - Major Hayden <major@mhtx.net>
>> Bug reports, feature requests, and downloads at http://mysqltuner.com/
>> Run with '--help' for additional options and output filtering
-------- General Statistics --------------------------------------------------
[--] Skipped version check for MySQLTuner script
[OK] Currently running supported MySQL version 5.1.58
[OK] Operating on 64-bit architecture
-------- Storage Engine Statistics -------------------------------------------
[--] Status: +Archive -BDB -Federated +InnoDB -ISAM -NDBCluster
[--] Data in MyISAM tables: 7G (Tables: 841)
[--] Data in InnoDB tables: 471M (Tables: 3)
[--] Data in MEMORY tables: 625K (Tables: 6)
[!!] Total fragmented tables: 43
-------- Security Recommendations -------------------------------------------
[OK] All database users have passwords assigned
-------- Performance Metrics -------------------------------------------------
[--] Up for: 14h 9m 24s (11M q [232.572 qps], 980K conn, TX: 33B, RX: 935M)
[--] Reads / Writes: 84% / 16%
[--] Total buffers: 2.6G global + 4.6M per thread (180 max threads)
[!!] Maximum possible memory usage: 3.4G (89% of installed RAM)
[OK] Slow queries: 0% (1K/11M)
[!!] Highest connection usage: 100% (181/180)
[OK] Key buffer size / total MyISAM indexes: 2.1G/3.5G
[OK] Key buffer hit rate: 99.7% (265M cached / 824K reads)
[OK] Query cache efficiency: 59.1% (3M cached / 5M selects)
[!!] Query cache prunes per day: 702853
[OK] Sorts requiring temporary tables: 0% (444 temp sorts / 402K sorts)
[!!] Joins performed without indexes: 171
[OK] Temporary tables created on disk: 23% (18K on disk / 80K total)
[OK] Thread cache hit rate: 94% (56K created / 980K connections)
[OK] Table cache hit rate: 93% (896 open / 962 opened)
[OK] Open file limit used: 1% (894/65K)
[OK] Table locks acquired immediately: 99% (3M immediate / 3M locks)
[!!] InnoDB data size / buffer pool: 471.8M/128.0M
-------- 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
Enable the slow query log to troubleshoot bad queries
Reduce or eliminate persistent connections to reduce connection usage
Increasing the query_cache size over 128M may reduce performance
Adjust your join queries to always utilize indexes
Variables to adjust:
max_connections (> 180)
wait_timeout (< 100)
interactive_timeout (< 100)
query_cache_size (> 256M) [see warning above]
join_buffer_size (> 2.0M, or always use indexes with joins)
innodb_buffer_pool_size (>= 471M)
بعد از اجرا یک سری امار و گزارش از وضعیت فعلی و در اخر توصیه برای تغییر متغییرها به شما میدهد.
قسمت هایی که درکل تاثیر مهم دارند buffer ها هستند که متناسب با رم سرور و حجم دیتابیس ها تنظیم کنید.
به حداکثر مصرف رم ممکن دقت کنید و حداکثر تعداد کانکشن را متناسب با رم انتخاب کنید.
کش را فعال کنید و مقداری از رم را به کش اختصاص بدهید.
بعضی از پارامتر های پیشنهادی این برنامه راه حل مشکل نیستند و باید کوئری ها را بررسی کنید معمولا slow-log را فعال کنید و کوئری ها را نگاه کنید مشکل در کوئری هایی هست که سرور را کند می کنند یا فشار میارن ...
اینا رو کجا ذخیره کنیم
؟
سلام
به همه
برای یک سرور با رم 32 و سی پیو 8 هسته ای چه کانفیگی مناسب می باشد .
گاهی اوقات سرعت خیلی افت می کنه
http://karabama.com