แยกข้อมูล mysql ไปไว้อีกดิส !!

แนะนำให้ mount hdd อีกลูกแยกที่ไปเลยครับ อย่า mount ไปที่ /var/lib/mysql โดยตรง
สมมติว่า mount ไปที่ /data หลังจาก mount แล้วให้สั่งตามนี้ครับ

service crond stop
service mysqld stop
mv -vf /var/lib/mysql /data/
ln -s /data/mysql /var/lib/
service mysqld start
service crond start

ไม่ต้องแก้ไฟล์อะไรทั้งสิ้นครับ

CR. ICEZ

วิธีจูน apache และ mysql

maxclients ของ apache สูตรคำนวณคือแรมหาร 50 ครับ แรม 24GB ก็เซตประมาณ 480 – 512 ไม่เกินนั้น

ส่วนของ my.cnf นี่บอกยากครับ หลักๆ ใช้ความรู้สึกเอามากกว่า

ด้านล่างนี้เป็นค่าเฉลี่ยสำหรับเครื่อง hosting ที่มีแรมมากกว่า 8GB ครับ ค่าที่ยังปรับเพิ่มได้อีกมี key_buffers กับ innodb_buffer_pool_size นอกนั้นไม่ควรปรับเพิ่ม (max connections ปรับเพิ่มได้แต่ไม่เกิน 500 แต่ไม่แนะนำให้ปรับโดยเด็ดขาด)

[mysqld]
local-infile=0

innodb_buffer_pool_size=256M
innodb_additional_mem_pool_size=1M
innodb_log_buffer_size=500K
innodb_thread_concurrency=2
innodb_file_per_table

skip-character-set-client-handshake
skip-name-resolve
max_connections = 300
key_buffer = 512M
myisam_sort_buffer_size = 32M
join_buffer_size = 1M
read_buffer_size = 1M
sort_buffer_size = 2M
read_rnd_buffer_size = 1M

table_cache = 1536
thread_cache = 4
thread_concurrency = 2
thread_cache_size = 256
wait_timeout = 3600
connect_timeout = 10
max_tmp_tables = 256
tmp_table_size = 128M
max_allowed_packet = 16M
max_connect_errors = 10
query_cache_limit = 1M
query_cache_size = 32M
query_cache_type = 1
query_prealloc_size = 16384
query_alloc_block_size = 16384
max_heap_table_size = 128M

 

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

 

Credit: icez

maxconnection แตกต่างจาก max client อย่างไร (ก๊อบไว้อ่านเอง)

max connection ก็คือ concurrent (ที่ connected ใช้งานในขณะนั้นๆ) กำหนดไว้ 100-500 หากแรม 1-2GB แค่นี้ mysql ก็ทำงาน slow แล้ว
กำหนดอย่างไรแล้ว ไปไล่หาดูใน my.cnf จะมี comment เอาไว้

การ tuning concurrent ไม่ใช่กำหนดให้มากที่สุด แต่กำหนดให้ทำงานเหมาะสมกับ cpu + ram (ram ที่กำหนดให้ mysqld) ต้องปรับ buffer ให้เหมาะสม
ค่าต่างๆเหล่านี้ระบุตายตัวไม่ได้ ต้องค่อยๆปรับขึ้นทีล่ะนิด

กำหนดพร้อมกันไปกับพวก timeout บางครั้ง เรากำหนด timeout ไว้ให้น้อยๆ ก็ทำให้ process ปลดปล่อยได้ง่าย connection ใดเปิดแล้วค้าง จะทำให้ไม่เกิดการ inqury ค้างสะสม ไม่มีอาการ wait จนกระทบกับ cpu speed & ram free

tuning ให้แรง ไม่ค่อยเห็นผล แต่ tuning ให้ทำงานราบรื่น… tune ได้ครับ

ด้าน apache ก็มีผลอย่างมากครับ ดูที่ใช้จำนวน slot และ SS (ดูใน server-status)

 

Credit by : smartnet.co.th (หนึ่งสุดหล่อ)