PDA

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



bl4ck
July 20th, 2013, 05:25
سلام دوستان عزیز

من یه چت روم دارم که انلاین هاش 1100 به بالا هم میره و سرور کم میاره

از اونجا که این اسکریپت های چت بیشتر روی mysql server بیشترین فشار رو (حدود70%) وارد میکنن

به نظر شما اگه یه سرور مخصوصا دیتابیس بگیرم و یه وی پی اس برای لود کردن فایل ها واین دو سرور بهم متصل بشن بازدهی چطور خواهد بود؟ تا حالا کسی این کارو کرده؟

انتقال mysql به هارد دوم هم تاثیرش خوبه اما فکر میکنم اگه یه سرور مخصوص دیتابیس تهیه بشه بازدهیش 2 برابر بشه

نظر شما دوستان چیه؟

با تشکر

nginxweb
July 20th, 2013, 10:56
در نهایت باید اینکارو کنید و چاره ای ندارید چون سایت های پربازدید و هاستینگ های پر بازدید مانند hostdl هم بصورت همین کار یعنی remote mysql کار میکنند . در صورتیکه سرور mysql و سرور دیتا در یک دیتاسنتر قرار داشته باشند هیچ مشکلی ندارد که local ping باشند و کیفیت مناسبی خواهید داشت
:53:

bl4ck
July 21st, 2013, 21:17
این همه ادعای کانفیگ اینجا میکنن بجز اقای محمد زاده کسی بلد نیست نظر بده8-}

shingo
July 22nd, 2013, 00:45
با سلام

پیشنهاد بنده هم استفاده از یک سرور جدا فقط برای remote sql با کانفیگ زیر هست

2X128GB SSD WITH DELL H700 RAID CONTROLLER CONFIGURED IN RAID 0

یا کانفیگ زیر

4X128 GB SSD WITH DELL H700 RAID CONTROLLER CONFIGURED IN RAID10

OnlineServer
July 22nd, 2013, 00:50
پیشنهاد میکنم به جای اینکه هزینه بابت سرور بدید روی اسکریپت کار کنید . برای سایت شما بهتره از دیتابیسی مثل mongodb استفاده کنید :)

bl4ck
July 22nd, 2013, 01:02
ممنون دوستان بابت نظراتی که دادید

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

سروری که من دارم اگه دست یه هاستینگ باشه میتونه باهاش 5 تا سایت رتبه زیر 200 ایرانو روش بیاره اما یه چت روم این سرورو خفه کرده بصورت کامل

ممکنه یه کم راجب این نوع دیتابیسی که فرمودید توضیح بدید باهاش اشنا بشم؟

iMohsen
July 22nd, 2013, 01:03
اگر امکان تغییر دیتابیس دارید از mongo و یا hsql استفاده کنید که syntax مشابه دارن با منابع مصرفی کمتر .
نسخه فعلی mysql که دارید چند هست ؟
آیا تغییراتی برای بهینه سازی روش انجام شده ؟
اگر بیشترین فشار روی سرور mysql هست شما بهتره سرور بهتری رو به mysql اختصاص بدید و سایت اصلی رو با یک سرور مجازی کنترل کنید .
البته بعیده که mysql نتونه در این حد رو پشتیبانی کنه چون ما داشتیم تا 800 کاربر آنلاین ( روی یک سیستم مدیریت محتوای کاستوم ) که با shared hosting کار میکرده .


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

OnlineServer
July 22nd, 2013, 01:08
این دیتابیس قدرت insert بالا و سریع تری نسبت به mysql دارد .
در مورد برنامه نویسی هم مشکل نیست فردا ظهر لطفا تماس بگیرید راهنمائی کنیم.

bl4ck
July 22nd, 2013, 01:13
D7-360: Quad Core 3.40Ghz (E3-1240v2); 2 x 120GB SSD; 32GB RAM; 1Gbps (+ £99.99 per month)

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

mysql و فایل های سایت همه رو همین 1 سرور هست که تو این فکر بودم که این سرور رو بکنم سرور مخصوص دیتابیس و یه وی پی اس بگیرم برای لود کردن فایل ها و برای همین اومدم اینجا تایپک زدم چون اینجا شماها تخصص دارید تو این زمینه تا تصمیم بهتری بگیرم

iMohsen
July 22nd, 2013, 01:24
مسلما کانفیگ آقای محمدی ( onlineserver ) کانفیگ خوبی بوده و هست .

ولی 32گیگ رم خیلی زیاده . بیشترین منابع مصرفی چی هستن ؟ از tmpfs استفاده کردین ؟ partitioning انجام دادین ؟ ایندکس گذاری ها رو تغییر دادید که سرعت ریسپانس بالا بره ؟


البته با اعمال تغییرات در select و update های همین سرور هم شاید بشه کوئری ها رو کمتر معطل کرد تا منابع سریعتر آزاد بشن .

حالا شما یه راه دیگه هم دارید که بهتر بتونید منابع رو تقسیم کنید ولی ریسک عدم پاسخگویی سرور رو هم خواهید داشت .
بیاین رو همین سرور vmware بزارید و یک سرور مجازی با منابع کمتر و اختصاصی ایجاد کنید و مابقی رو با یک سرور مجازی دیگه در اختیار mysql بزارید .
شاید این روش با توجه به قدرت کنترل vmware بتونه به بهبود عملکرد سرویس شما کمک بکنه .

ali2k
July 22nd, 2013, 01:35
ببخشید همه اساتید جمع هستند جسارت نباشه :)
سروری که مشکل mysql داره با جدا کردن سرور وب از دیتابیس مشکلش حل نمیشه ، به فرض اینکه لود سرور در اوج ترافیک روی 30 باشه از این 30 تا فقط 3 یا 4 تاش مربوط به وب سرور هست و بقیه مربوط به دیتابیس شما اگر سرور دومی هم تهیه کنید با همین کانفیگ مجدد به مشکل لود برخواهید خورد و مشکلتان حل نمیشه.

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



wget mysqltuner.pl
perl mysqltuner.pl

خروجی این دستور را همینجا بزارید تا در موردش راهنماییتان کنم.

دوم اینکه باید در اوج ترافیک دستور

mysqladmin processlist


بزنید تا مشخص بشه کدام کوئری یا کوئری ها مشکل ساز هستند و برای حل مشکلشان اقدام کنید (این قسمت برنامه نویسی و بهینه سازی دیتابیس هست)

سوم
فعال کردن slow query log و انالیز کوئری ها و حل مشکل کوئری ها که همان کار قبلی هست ولی با استفاده از برنامه های انالیز راحت می توانید بفهمید روی حل مشکل کدام کوئری کار کنید موثر تر هست.



نهایتا اگر خواستید از سرور دوم برای دیتابیس استفاده کنید نوع هارد و نوع raid و مقدار رم سرور تاثیر به سزایی در عملکرد mysql خواهد داشت.

bl4ck
July 22nd, 2013, 01:47
ببخشید همه اساتید جمع هستند جسارت نباشه :)
سروری که مشکل mysql داره با جدا کردن سرور وب از دیتابیس مشکلش حل نمیشه ، به فرض اینکه لود سرور در اوج ترافیک روی 30 باشه از این 30 تا فقط 3 یا 4 تاش مربوط به وب سرور هست و بقیه مربوط به دیتابیس شما اگر سرور دومی هم تهیه کنید با همین کانفیگ مجدد به مشکل لود برخواهید خورد و مشکلتان حل نمیشه.

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



wget mysqltuner.pl
perl mysqltuner.pl

خروجی این دستور را همینجا بزارید تا در موردش راهنماییتان کنم.

دوم اینکه باید در اوج ترافیک دستور

mysqladmin processlist


بزنید تا مشخص بشه کدام کوئری یا کوئری ها مشکل ساز هستند و برای حل مشکلشان اقدام کنید (این قسمت برنامه نویسی و بهینه سازی دیتابیس هست)

سوم
فعال کردن slow query log و انالیز کوئری ها و حل مشکل کوئری ها که همان کار قبلی هست ولی با استفاده از برنامه های انالیز راحت می توانید بفهمید روی حل مشکل کدام کوئری کار کنید موثر تر هست.



نهایتا اگر خواستید از سرور دوم برای دیتابیس استفاده کنید نوع هارد و نوع raid و مقدار رم سرور تاثیر به سزایی در عملکرد 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
Please enter your MySQL administrative login: root
Please enter your MySQL administrative password:

-------- General Statistics --------------------------------------------------
[--] Skipped version check for MySQLTuner script
[OK] Currently running supported MySQL version 5.5.32
[OK] Operating on 64-bit architecture

-------- Storage Engine Statistics -------------------------------------------
[--] Status: +Archive -BDB -Federated +InnoDB -ISAM -NDBCluster
[--] Data in MyISAM tables: 268M (Tables: 60)
[--] Data in InnoDB tables: 304K (Tables: 6)
[--] Data in PERFORMANCE_SCHEMA tables: 0B (Tables: 17)
[!!] Total fragmented tables: 14

-------- Security Recommendations -------------------------------------------
[OK] All database users have passwords assigned

-------- Performance Metrics -------------------------------------------------
[--] Up for: 6h 2m 5s (34M q [1K qps], 3M conn, TX: 87B, RX: 6B)
[--] Reads / Writes: 86% / 14%
[--] Total buffers: 672.0M global + 12.4M per thread (1000 max threads)
[OK] Maximum possible memory usage: 12.7G (41% of installed RAM)
[OK] Slow queries: 0% (0/34M)
[OK] Highest usage of available connections: 80% (801/1000)
[OK] Key buffer size / total MyISAM indexes: 512.0M/38.7M
[OK] Key buffer hit rate: 100.0% (235M cached / 29K reads)
[!!] Query cache is disabled
[OK] Sorts requiring temporary tables: 0% (0 temp sorts / 562K sorts)
[!!] Temporary tables created on disk: 50% (537K on disk / 1M total)
[OK] Thread cache hit rate: 85% (538K created / 3M connections)
[!!] Table cache hit rate: 0% (400 open / 693K opened)
[OK] Open file limit used: 6% (336/5K)
[OK] Table locks acquired immediately: 96% (33M immediate / 34M locks)
[OK] InnoDB data size / buffer pool: 304.0K/128.0M

-------- Recommendations -----------------------------------------------------
General recommendations:
Run OPTIMIZE TABLE to defragment tables for better performance
MySQL started within last 24 hours - recommendations may be inaccurate
Enable the slow query log to troubleshoot bad queries
When making adjustments, make tmp_table_size/max_heap_table_size equal
Reduce your SELECT DISTINCT queries without LIMIT clauses
Increase table_cache gradually to avoid file descriptor limits
Variables to adjust:
query_cache_size (>= 8M)
tmp_table_size (> 16M)
max_heap_table_size (> 16M)
table_cache (> 400)



14417

ali2k
July 22nd, 2013, 01:51
تنظیمات دیتابیس را بزارید تا بگم چه تغییری بدید
خروجی دستور:

cat /etc/my.cnf

bl4ck
July 22nd, 2013, 01:53
تنظیمات دیتابیس را بزارید تا بگم چه تغییری بدید
خروجی دستور:

cat /etc/my.cnf

خدمت شما


[root@~]# cat /etc/my.cnf
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
max_connection=1000
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
innodb_file_per_table = 1
thread_concurrency = 16
thread_cache_size = 8
myisam_sort_buffer_size = 64M
read_rnd_buffer_size = 8M
read_buffer_size = 2M
sort_buffer_size = 2M
key_buffer = 512M
big-tables
# Settings user and group are ignored when systemd is used (fedora >= 15).
# If you need to run mysqld under a different user or group,
# customize your systemd unit file for mysqld according to the
# instructions in http://fedoraproject.org/wiki/Systemd
user=mysql
default-storage-engine = InnoDB
# Semisynchronous Replication
# http://dev.mysql.com/doc/refman/5.5/en/replication-semisync.html
# uncomment next line on MASTER
;plugin-load=rpl_semi_sync_master=semisync_master.so
# uncomment next line on SLAVE
;plugin-load=rpl_semi_sync_slave=semisync_slave.so

# Others options for Semisynchronous Replication
;rpl_semi_sync_master_enabled=1
;rpl_semi_sync_master_timeout=10
;rpl_semi_sync_slave_enabled=1

# http://dev.mysql.com/doc/refman/5.5/en/performance-schema.html
;performance_schema


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

ali2k
July 22nd, 2013, 02:00
table_cache = 2000
table_open_cache = 2000
table_definition_cache = 2000

max_heap_table_size = 32M
tmp_table_size= 32M
#tmpdir=/dev/shm

query_cache_type = 1
query_cache_size = 128M
query_cache_limit= 8M
query_cache_min_res_unit=1k



این پارامتر ها را به فایل کانفیگ اضافه کنید قبل عبارت [mysqld_safe] بزارید و فایل کانفیگ را ذخیره کنید و سرویس mysql را ری استارت کنید.



یکی از پارامتر ها را اول خط # گذاشتم که این باید ادرس tmpfs را جایگزین کنید با زدن دستور

df -h
میتوانید ادرسش را پیدا کنید بعد از جایگزین کردن ادرس صحیح علامت # را از اول خط بردارید و کانفیگ را ذخیره و سرویس mysql را ری استارت کنید.

ali2k
July 22nd, 2013, 02:02
قطعا مشکل io روی این سرور دارید و علت کم اورد سرور توی ترافیک بالا همینه با تغییرات بالا که گفتم به مراتب مشکلتون کمتر خواهد شد تست کنید نتیجه را اعلام کنید.

bl4ck
July 22nd, 2013, 02:12
table_cache = 2000
table_open_cache = 2000
table_definition_cache = 2000

max_heap_table_size = 32M
tmp_table_size= 32M
#tmpdir=/dev/shm

query_cache_type = 1
query_cache_size = 128M
query_cache_limit= 8M
query_cache_min_res_unit=1k



این پارامتر ها را به فایل کانفیگ اضافه کنید قبل عبارت [mysqld_safe] بزارید و فایل کانفیگ را ذخیره کنید و سرویس mysql را ری استارت کنید.



یکی از پارامتر ها را اول خط # گذاشتم که این باید ادرس tmpfs را جایگزین کنید با زدن دستور

df -h
میتوانید ادرسش را پیدا کنید بعد از جایگزین کردن ادرس صحیح علامت # را از اول خط بردارید و کانفیگ را ذخیره و سرویس mysql را ری استارت کنید.



واقعا ممنونم علی اقا

خیلی کمک کردی

کارای که گفتید رو انجام دادم

دوباره اون دستورات رو زدم فقط اینا مونده انگار


-------- Recommendations -----------------------------------------------------
General recommendations:
Run OPTIMIZE TABLE to defragment tables for better performance
MySQL started within last 24 hours - recommendations may be inaccurate
Enable the slow query log to troubleshoot bad queries
When making adjustments, make tmp_table_size/max_heap_table_size equal
Reduce your SELECT DISTINCT queries without LIMIT clauses
Variables to adjust:
tmp_table_size (> 32M)
max_heap_table_size (> 32M)




بعدش اون دستور که گفتید رو زدم نتیجه شو عکس رو میزارم شما راهنمایی کنید

14418

ali2k
July 22nd, 2013, 02:17
خواهش ، اون دستور و ادرس که گفتم الان درسته فقط # رو از اول خط بردار
در مورد مقدار 32M هم تا 64M میتونی افزایش بدی یعنی مقدار 32 را بکن 64 و ذخیره کن و سرویس mysql را ری استارت کن.

بعد از انجام این کارها حداقل 24 ساعت باید صبر کنی تا مشخص بشه عملکرد mysql چقدر فرق کرده چون شما تازه سرویس را ری استارت کردی خروجی های برنامه mysqltuner دیگه قابل اعتماد نیستند پس بعد از انجام همین دو تغییر اخری دیگه کاریش نداشته باش و تا فردا صبح صبرکن بعد مجدد خروجی کامل mysqltuner را اینجا بزار تا اگر تغییر لازم هست بگم

ali2k
July 22nd, 2013, 02:19
یکبار هم وارد phpmyadmin بشید و تمام جدول ها را انتخاب کنید و optimize بزنید.

bl4ck
July 22nd, 2013, 02:26
اون # رو ورداشتم ارور داد


# service mysqld restart
Stopping mysqld: [ OK ]
MySQL Daemon failed to start.




دوباره گذاشتمش و mysql رو ری استارت زدم درست شد


# service mysqld restart
Stopping mysqld: [ OK ]
Starting mysqld: [ OK ]

nginxweb
July 22nd, 2013, 02:38
کاربر گرامی ali2k احتمالا از وصعیت سایت ایشون خبر ندارید که همچین پستی میدید
یعنی شما فکر میکنید کسی که شبانه روز کارش کانفیگ و مدیریت سرور هستش با tune کردن mysql که ابتدایی ترین بخش در بهینه سازی سرویس های سرور و server optimization می باشد آشنایی نداره؟..

مشکل این دوستمون با تغییر گزینه های mysql حل نخواهد شد

مشکل اصلی ایشون اسکریپت غیر بهینه live proccess هستش که درخواست های همزمان زیادی روی سرور ارسال میکنه و بیشترین بار را روی سرویس ها مخصوصا وب سرور و mysql وارد میکنه و مشکل اصلی هم همین جاست مخصوصا که اسکریپت ایشون بنده اولین شخصی بودم که در کشور این اسکریپت را فارسی کردم و قالب واسش نوشتم و گسترش دادم.. و کاملا آشنا هستم بزرگترین ضعف این اسکریپت عدم پشتبانی از cache server و همچنین حتی یک coockie time ساده هستش که بتونه request ها را در کوکی مستقر کنه. در صورتیکه ایشون اگر از اسکریپتی مثل 123flashchat استفاده میکنند با سرور فعلیشون دستکم 2برابر آنلاین فعلی رو با سرعت بیشتر میتونند سرویس بدن

راه حل شما حسین خان موارد زیر می باشد:

1- انتقال mysql روی یک سرور دیگر از همین دیتاسنتر remote mysql
2- تغییر در هسته سیستم و بهینه کردن کوئری ها و استفاده از کش سرورها پس از سازگار کردن اسکریپت و همچین تغییر mysql type
3- استفاده از فلش چت


پیروز باشید

:53:

bl4ck
July 22nd, 2013, 02:52
ممنون

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

مثلا روزی 1 بار باید ری استارت کنم اگه این بخش اپتیمایز بشه هم مشکلی با لودش هم ندارم همین 1200 انلاین رو میکشه فقط این حالت بهینه کردن تیبل ها اگه جواب بده خب دیگه نیازی ندارم سرور عوض کنم

درواقع منظور من از این مشکل لحظه ای نیست این مشکل بعد از 12 ساعت یا یک روز یک بار رخ میده که فکر کنم دیتابیس بعد از ساعاتی سنگین میشه و دچار این مشکل میشه

البته 123 فلش چت دیگه طرفدار نداره چون ورود بهش سخته حتی اون html5 کلی راجبش تحقیق کردم

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

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

ممنون از همه دوستان که وقتشون رو گذاشتن و نظر دادن و راهنمایی کردن

موفق باشید

ali2k
July 22nd, 2013, 02:53
کاربر گرامی ali2k احتمالا از وصعیت سایت ایشون خبر ندارید که همچین پستی میدید
یعنی شما فکر میکنید کسی که شبانه روز کارش کانفیگ و مدیریت سرور هستش با tune کردن mysql که ابتدایی ترین بخش در بهینه سازی سرویس های سرور و server optimization می باشد آشنایی نداره؟..

مشکل این دوستمون با تغییر گزینه های mysql حل نخواهد شد

مشکل اصلی ایشون اسکریپت غیر بهینه live proccess هستش که درخواست های همزمان زیادی روی سرور ارسال میکنه و بیشترین بار را روی سرویس ها مخصوصا وب سرور و mysql وارد میکنه و مشکل اصلی هم همین جاست مخصوصا که اسکریپت ایشون بنده اولین شخصی بودم که در کشور این اسکریپت را فارسی کردم و قالب واسش نوشتم و گسترش دادم.. و کاملا آشنا هستم بزرگترین ضعف این اسکریپت عدم پشتبانی از cache server و همچنین حتی یک coockie time ساده هستش که بتونه request ها را در کوکی مستقر کنه. در صورتیکه ایشون اگر از اسکریپتی مثل 123flashchat استفاده میکنند با سرور فعلیشون دستکم 2برابر آنلاین فعلی رو با سرعت بیشتر میتونند سرویس بدن

راه حل شما حسین خان موارد زیر می باشد:

1- انتقال mysql روی یک سرور دیگر از همین دیتاسنتر remote mysql
2- تغییر در هسته سیستم و بهینه کردن کوئری ها و استفاده از کش سرورها پس از سازگار کردن اسکریپت و همچین تغییر mysql type
3- استفاده از فلش چت


پیروز باشید

:53:

من به کار کانفیگ شخصی انتقاد نکردم صرفا در راستای کمک به حل مشکل ایشان پست دادم بهتر هست بر اساس مسائل فنی قضاوت کنیم این وضعیت سرور ایشان بوده قبل از بهینه سازی ساده پارامتر ها


[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
Please enter your MySQL administrative login: root
Please enter your MySQL administrative password:

-------- General Statistics --------------------------------------------------
[--] Skipped version check for MySQLTuner script
[OK] Currently running supported MySQL version 5.5.32
[OK] Operating on 64-bit architecture

-------- Storage Engine Statistics -------------------------------------------
[--] Status: +Archive -BDB -Federated +InnoDB -ISAM -NDBCluster
[--] Data in MyISAM tables: 268M (Tables: 60)
[--] Data in InnoDB tables: 304K (Tables: 6)
[--] Data in PERFORMANCE_SCHEMA tables: 0B (Tables: 17)
[!!] Total fragmented tables: 14

-------- Security Recommendations -------------------------------------------
[OK] All database users have passwords assigned

-------- Performance Metrics -------------------------------------------------
[--] Up for: 6h 2m 5s (34M q [1K qps], 3M conn, TX: 87B, RX: 6B)
[--] Reads / Writes: 86% / 14%
[--] Total buffers: 672.0M global + 12.4M per thread (1000 max threads)
[OK] Maximum possible memory usage: 12.7G (41% of installed RAM)
[OK] Slow queries: 0% (0/34M)
[OK] Highest usage of available connections: 80% (801/1000)
[OK] Key buffer size / total MyISAM indexes: 512.0M/38.7M
[OK] Key buffer hit rate: 100.0% (235M cached / 29K reads)
[!!] Query cache is disabled
[OK] Sorts requiring temporary tables: 0% (0 temp sorts / 562K sorts)
[!!] Temporary tables created on disk: 50% (537K on disk / 1M total)
[OK] Thread cache hit rate: 85% (538K created / 3M connections)
[!!] Table cache hit rate: 0% (400 open / 693K opened)
[OK] Open file limit used: 6% (336/5K)
[OK] Table locks acquired immediately: 96% (33M immediate / 34M locks)
[OK] InnoDB data size / buffer pool: 304.0K/128.0M

-------- Recommendations -----------------------------------------------------
General recommendations:
Run OPTIMIZE TABLE to defragment tables for better performance
MySQL started within last 24 hours - recommendations may be inaccurate
Enable the slow query log to troubleshoot bad queries
When making adjustments, make tmp_table_size/max_heap_table_size equal
Reduce your SELECT DISTINCT queries without LIMIT clauses
Increase table_cache gradually to avoid file descriptor limits
Variables to adjust:
query_cache_size (>= 8M)
tmp_table_size (> 16M)
max_heap_table_size (> 16M)
table_cache (> 400)
http://www.webhostingtalk.ir/attachments/f175/14417d1374441442t-%D8%AF%D9%88%D8%B3%D8%AA%D8%A7%D9%86%DB%8C-%DA%A9%D9%87-%D8%AA%D9%88-%DA%A9%D8%A7%D9%86%D9%81%DB%8C%DA%AF-%D8%AD%D8%B1%D9%81%D9%87-%D8%A7%DB%8C-%D8%A7%D9%86-%D9%86%D8%B8%D8%B1-%D8%A8%D8%AF%D9%86-db-jpg (http://www.webhostingtalk.ir/attachments/f175/14417d1374441442-%D8%AF%D9%88%D8%B3%D8%AA%D8%A7%D9%86%DB%8C-%DA%A9%D9%87-%D8%AA%D9%88-%DA%A9%D8%A7%D9%86%D9%81%DB%8C%DA%AF-%D8%AD%D8%B1%D9%81%D9%87-%D8%A7%DB%8C-%D8%A7%D9%86-%D9%86%D8%B8%D8%B1-%D8%A8%D8%AF%D9%86-db-jpg)

نظرتان را به قسمت های قرمز جلب میکنم ، قطعا با انجام تغییراتیکه اعمال کردند و تنظیم tmpdir روی tmpfs نتیجه عملکرد این سرور فرق خواهد کرد.
منتظر خروجی مجدد این سرور فردا هم می مانیم تا مقایسه کنیم وضعیت با همین تغییرات چقدر فرق کرده .

با بهینه سازی اسکریپت هم که موافقم این نظری بود که خودم دادم حالا شما دارید تاکید میکنید روش ولی با جداکردن سرور و رفتن روی سرور دوم 90% مطمئن هستم مشکل ایشان حل نمیشه.

bl4ck
July 22nd, 2013, 13:00
کار ali2k تایید میشه

امروز تاثیر بسیار خوبی رو سرور مشاهده کردم لود به جای اینکه روی 1050 انلاین 60 باشه امروز روی 10 بود

اقا دمت گرم

iMohsen
July 22nd, 2013, 14:25
من به کار کانفیگ شخصی انتقاد نکردم صرفا در راستای کمک به حل مشکل ایشان پست دادم بهتر هست بر اساس مسائل فنی قضاوت کنیم این وضعیت سرور ایشان بوده قبل از بهینه سازی ساده پارامتر ها


[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
Please enter your MySQL administrative login: root
Please enter your MySQL administrative password:

-------- General Statistics --------------------------------------------------
[--] Skipped version check for MySQLTuner script
[OK] Currently running supported MySQL version 5.5.32
[OK] Operating on 64-bit architecture

-------- Storage Engine Statistics -------------------------------------------
[--] Status: +Archive -BDB -Federated +InnoDB -ISAM -NDBCluster
[--] Data in MyISAM tables: 268M (Tables: 60)
[--] Data in InnoDB tables: 304K (Tables: 6)
[--] Data in PERFORMANCE_SCHEMA tables: 0B (Tables: 17)
[!!] Total fragmented tables: 14

-------- Security Recommendations -------------------------------------------
[OK] All database users have passwords assigned

-------- Performance Metrics -------------------------------------------------
[--] Up for: 6h 2m 5s (34M q [1K qps], 3M conn, TX: 87B, RX: 6B)
[--] Reads / Writes: 86% / 14%
[--] Total buffers: 672.0M global + 12.4M per thread (1000 max threads)
[OK] Maximum possible memory usage: 12.7G (41% of installed RAM)
[OK] Slow queries: 0% (0/34M)
[OK] Highest usage of available connections: 80% (801/1000)
[OK] Key buffer size / total MyISAM indexes: 512.0M/38.7M
[OK] Key buffer hit rate: 100.0% (235M cached / 29K reads)
[!!] Query cache is disabled
[OK] Sorts requiring temporary tables: 0% (0 temp sorts / 562K sorts)
[!!] Temporary tables created on disk: 50% (537K on disk / 1M total)
[OK] Thread cache hit rate: 85% (538K created / 3M connections)
[!!] Table cache hit rate: 0% (400 open / 693K opened)
[OK] Open file limit used: 6% (336/5K)
[OK] Table locks acquired immediately: 96% (33M immediate / 34M locks)
[OK] InnoDB data size / buffer pool: 304.0K/128.0M

-------- Recommendations -----------------------------------------------------
General recommendations:
Run OPTIMIZE TABLE to defragment tables for better performance
MySQL started within last 24 hours - recommendations may be inaccurate
Enable the slow query log to troubleshoot bad queries
When making adjustments, make tmp_table_size/max_heap_table_size equal
Reduce your SELECT DISTINCT queries without LIMIT clauses
Increase table_cache gradually to avoid file descriptor limits
Variables to adjust:
query_cache_size (>= 8M)
tmp_table_size (> 16M)
max_heap_table_size (> 16M)
table_cache (> 400)
http://www.webhostingtalk.ir/attachments/f175/14417d1374441442t-%D8%AF%D9%88%D8%B3%D8%AA%D8%A7%D9%86%DB%8C-%DA%A9%D9%87-%D8%AA%D9%88-%DA%A9%D8%A7%D9%86%D9%81%DB%8C%DA%AF-%D8%AD%D8%B1%D9%81%D9%87-%D8%A7%DB%8C-%D8%A7%D9%86-%D9%86%D8%B8%D8%B1-%D8%A8%D8%AF%D9%86-db-jpg (http://www.webhostingtalk.ir/attachments/f175/14417d1374441442-%D8%AF%D9%88%D8%B3%D8%AA%D8%A7%D9%86%DB%8C-%DA%A9%D9%87-%D8%AA%D9%88-%DA%A9%D8%A7%D9%86%D9%81%DB%8C%DA%AF-%D8%AD%D8%B1%D9%81%D9%87-%D8%A7%DB%8C-%D8%A7%D9%86-%D9%86%D8%B8%D8%B1-%D8%A8%D8%AF%D9%86-db-jpg)

نظرتان را به قسمت های قرمز جلب میکنم ، قطعا با انجام تغییراتیکه اعمال کردند و تنظیم tmpdir روی tmpfs نتیجه عملکرد این سرور فرق خواهد کرد.
منتظر خروجی مجدد این سرور فردا هم می مانیم تا مقایسه کنیم وضعیت با همین تغییرات چقدر فرق کرده .

با بهینه سازی اسکریپت هم که موافقم این نظری بود که خودم دادم حالا شما دارید تاکید میکنید روش ولی با جداکردن سرور و رفتن روی سرور دوم 90% مطمئن هستم مشکل ایشان حل نمیشه.



چه جالب یعنی کانفیگ حرفه ای قبلی بر مبنای عدم استفاده از query cache و یا tune کردن heap table بوده ؟
از اولین موارد که در بهینه سازی برمبنای write بالا استفاده میشه tmpfs هست که انگار نبوده .

علاوه بر راهنمایی خوب و ساده ali2k شما به تدریج حتی اگر نحوه اجرای query های سیستم رو هم تغییر بدید این فشار سیستم خیلی کاهش پیدا خواهد کرد . در زمانی که فشار سیستم بالاست با استفاده از phpmyadmin بررسی کنید که آیا کوئری در mysql وجود داره که wait شده باشه ؟ اگر باشه افزایش این wait ها باعث مصرف بیشتر منابع و کاهش پایداری سیستم میشه .

برای بهینه کردن کوئری ها هم همین مهندس ali2k استادن ...

bl4ck
July 23rd, 2013, 00:17
چه جالب یعنی کانفیگ حرفه ای قبلی بر مبنای عدم استفاده از query cache و یا tune کردن heap table بوده ؟
از اولین موارد که در بهینه سازی برمبنای write بالا استفاده میشه tmpfs هست که انگار نبوده .

علاوه بر راهنمایی خوب و ساده ali2k شما به تدریج حتی اگر نحوه اجرای query های سیستم رو هم تغییر بدید این فشار سیستم خیلی کاهش پیدا خواهد کرد . در زمانی که فشار سیستم بالاست با استفاده از phpmyadmin بررسی کنید که آیا کوئری در mysql وجود داره که wait شده باشه ؟ اگر باشه افزایش این wait ها باعث مصرف بیشتر منابع و کاهش پایداری سیستم میشه .

برای بهینه کردن کوئری ها هم همین مهندس ali2k استادن ...

سلام اقا محسن

کانفیگ قبلی رو من منظورم وب سرور بود نه دیتابیس کسانی هستن که الان تو همین انجمن هستن وب سرور رو درست بلد نیستن کانفیگ کنن

تو این مدتی که برا چت رومم سرور خریدم بهترین حالت کانفیگ وب سرور برام کانفیگ همین اقای محمدی بوده که تا 1200 انلاین رو تونست جواب بده و کسانی هم الان تو همین انجمن هستن که خیلی استاد هم به نظر میرسن اما سرورمو دادم دستشون وقتی کانفیگ کردن روی 300 انلاین همش ارور میداد که موفق به حلش نشدن (اسم نمیبرم)

حالا اگه دیتابیس هم خوب بهینه بشه دیگه فکر نمیکنم مشکلی داشته باشم

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

برام جالب بود


طبق معمول مثل هر روز باید امروز سرور من 1 یا 2 بار دچار هنگ میشد که فقط با ری استارت mysql server و یا ریبوت سرور حل میشد اما این اتفاق نیفتاد پس این تغییرات علی اقا تاثیر مناسبی داشته

خروجی رو الان دوباره میزارم فقط 1 موردش مونده اینم ok بشه دیگه تمومه


-------- Performance Metrics -------------------------------------------------
[--] Up for: 17h 47m 9s (96M q [1K qps], 10M conn, TX: 235B, RX: 17B)
[--] Reads / Writes: 79% / 21%
[--] Total buffers: 10.9G global + 12.4M per thread (1000 max threads)
[OK] Maximum possible memory usage: 23.0G (75% of installed RAM)
[OK] Slow queries: 0% (5/96M)
[OK] Highest usage of available connections: 79% (797/1000)
[OK] Key buffer size / total MyISAM indexes: 512.0M/44.1M
[OK] Key buffer hit rate: 100.0% (631M cached / 5K reads)
[OK] Query cache efficiency: 41.1% (30M cached / 74M selects)
[OK] Query cache prunes per day: 0
[OK] Sorts requiring temporary tables: 0% (9 temp sorts / 1M sorts)
[!!] Temporary tables created on disk: 50% (1M on disk / 2M total)
[OK] Thread cache hit rate: 90% (1M created / 10M connections)
[OK] Table cache hit rate: 59% (2K open / 3K opened)
[OK] Open file limit used: 32% (1K/5K)
[OK] Table locks acquired immediately: 97% (63M immediate / 64M locks)
[OK] InnoDB data size / buffer pool: 544.0K/128.0M

-------- Recommendations -----------------------------------------------------
General recommendations:
Run OPTIMIZE TABLE to defragment tables for better performance
MySQL started within last 24 hours - recommendations may be inaccurate
Enable the slow query log to troubleshoot bad queries
When making adjustments, make tmp_table_size/max_heap_table_size equal
Reduce your SELECT DISTINCT queries without LIMIT clauses
Variables to adjust:
tmp_table_size (> 16M)
max_heap_table_size (> 16M)

Reza68
August 4th, 2013, 09:19
دوست عزیز میشه لطف کنید منابع سرور فعلی رو بفرمایید چون تو اولین تاپیک ندیدم و اینکه شما تا به حال به منابع بالاتر از منابع فعلیتون کار کردید و باز هم پاسخ نگرفتید اگر بله هست پاسختون اون منابع سیستمی رو هم بفرمایید .

bl4ck
August 16th, 2013, 01:12
سلام دوباره

اساتید ممنون میشم یکی راهنمایی کنه


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

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





[--] Up for: 25m 6s (846K q [561.932 qps], 129K conn, TX: 437M, RX: 126M)
[--] Reads / Writes: 43% / 57%
[--] Total buffers: 10.7G global + 34.6M per thread (1000 max threads)
[!!] Maximum possible memory usage: 44.5G (145% of installed RAM)
[OK] Slow queries: 0% (0/846K)
[OK] Highest usage of available connections: 80% (800/1000)
[OK] Key buffer size / total MyISAM indexes: 64.0M/41.1M
[OK] Query cache efficiency: 53.7% (241K cached / 449K selects)
[OK] Query cache prunes per day: 0
[OK] Sorts requiring temporary tables: 0% (0 temp sorts / 7K sorts)
[OK] Temporary tables created on disk: 0% (1 on disk / 6K total)
[OK] Thread cache hit rate: 99% (800 created / 129K connections)
[OK] Table cache hit rate: 95% (141 open / 148 opened)
[OK] Open file limit used: 1% (170/11K)
[OK] Table locks acquired immediately: 100% (532K immediate / 532K locks)
[OK] InnoDB data size / buffer pool: 5.1M/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






[--] Up for: 25m 6s (846K q [561.932 qps], 129K conn, TX: 437M, RX: 126M)
[--] Reads / Writes: 43% / 57%



در این دو خط یه سری چیزای غیر عادی دیده میشه

اگه به امار مال 3 هفته پیش پست های بالا نگاه کنیم میزان write خیلی پایین بود امروز عصر یهویی سرور دچار این حالت شده و سایت هنگه

هرکی حلش کنه هزینشم میدم

مرسی

ULTRAWEB
August 16th, 2013, 02:12
ایدی رو ادد کن بیا حلش کنم مشکلی نیست