Mysql โหลดมากเลยครับ ขอคำแนะนำหน่อยครับ

MYSQL โหลดมากเลยครับ ขอคำแนะนำหน่อยครับ กิน cpu ไปเป็น 1000 เลยครับ

ถ้าเวบแนวนี้จะต้องปรับอะไรบ้างครับ

http://truck2hand.com

ตอนนี้ Load average เกือบ 100 เลยครับ

MYSQL โหลดเป็นพันเลยคับ ขนาด spec R410 2cpu ram 16 gb ยังเอาไม่อยุ๋เลยคับ ปรับตรงไหนดีคับ

ทำ index ครบละยังครับ

แฮ่ๆๆๆ โหดหรือผิดปกติอะครับ Ram 16G ยังกินหมด ส่วน Load Averrage 100 อีกต่างหาก ไม่ปกติแล้วมั้งครับ

มีสคิปอะไร มันวนลูผปไหมครับ ผมว่าน่าเป้นที่ สคิปแล้วล่ะ

ดู mysql slowry log

มีอะไรผิดปกติแล้วล่ะครับ เว็บแนวนี้ธรรมดาๆครับ ถ้าคนเข้าไม่เยอะโหลดไม่น่าถึง 1 ด้วยซ้ำ

มีการไปตั้ง cron ให้ทำงานทุกๆนาทีหรือเปล่า

กว้างแบบนี้ ผมว่าหามือปืนเข้ามาจัดการช่วยดูให้ดีกว่าครับ

ปัญหาที่สคริปต์ชัวร์

ผมว่าน่าจะมี script วนลูปแน่ๆ เลยคับ เดี๋ยวให้โปรแกรมเมอร์ดูอีกทีครับ

ขอบคุณทุกๆ ท่านเลยครับผม

สั่ง top มาดูหน่อยดิครับว่าติดอะไร

ผมเดาว่า coding ไม่ดี หรือ เซิร์ฟเวอร์ที่บริการ อาจช้าอยู่ก่อนแล้ว

โหลดหนักมากเลยคับ ผมปรับ mysql แบบนี้คับ

skip-bdb

#skip-innodb

skip-name-resolve

skip-host-cache

log-queries-not-using-indexes

set-variable = long_query_time=5

set-variable = query_cache_size=128M

set-variable = key_buffer_size=2048M

set-variable = key_buffer=10240M

set-variable = read_buffer_size=1024M

set-variable = join_buffer_size=1024M

set-variable = table_cache=2048

set-variable = sort_buffer=16M

set-variable = net_buffer_length=32K

set-variable = max_connection=512

set-variable = max_user_connections=512

set-variable = max_connect_errors=999999

set-variable = max_allowed_packet=64M

#innodb_force_recovery = 1

Default Thai Font

default-character-set = tis620

character-set-server = tis620

collation-server = tis620_thai_ci

Default storage engine

default-storage-engine=MyISAM

Try number of CPU’s*2 for thread_concurrency

thread_concurrency=8

thread_cache_size=16

thread_stack=196608

thread_cache=16

ดู slow log ดีกว่าครับ

ผมว่าเกิดจาก script sql มากกว่า

ไม่เกี่ยวกับ server หรอกครับ

ถ้าให้ดูต้องดู query แต่ละ query ที่ใช้ + DB ประกอบ

เซต buffer มั่วนี่คัรบ - -’ ลองปรับตามนี้ดู

[mysqld]

local-infile=0

default-character-set = tis620

character-set-server = tis620

collation-server = tis620_thai_ci

innodb_buffer_pool_size=256M

innodb_additional_mem_pool_size=1M

innodb_log_buffer_size=500K

innodb_thread_concurrency=2

skip-character-set-client-handshake

skip-name-resolve

max_connections = 500

key_buffer = 512M

myisam_sort_buffer_size = 32M

join_buffer_size = 2M

read_buffer_size = 2M

sort_buffer_size = 2M

read_rnd_buffer_size = 2M

table_cache = 1536

thread_cache = 16

thread_concurrency = 8

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 = 64M

query_cache_type = 1

query_prealloc_size = 16384

query_alloc_block_size = 16384

max_heap_table_size = 128M

555 ขอบคุณมากครับ ตามที่บอกเลยคับ ยังอ่อนหักมากๆคับผมมม

เดี๋ยวได้ผลยังไง มารายงานนะครับผม

ที่เห็นคงไม่ได้มั่วเฉพาะ Mysql ละครับ Apache ก็ไม่ใช่ย่อย

น่าจะเป็นที่สคริปต่อแล้วไม่มีการปิดการเชื่อมหรือป่าวครับ หรือ Loop ครับ

เหอๆ ของเก่าเค้าทำไว้ครับ ผมก็แก้ไปตามยถากรรม ครับ ที่มา post ก็เพื่อหาคนเก่งช่วยเหลือนะครับ

ปัญหาที่ตัว script นั่นล่ะครับ ปรับจูน mysql/apache ไปก็ไม่ได้ช่วยอะไรเท่าไหร่

เปิด phpmyadmin แล้วดูตรง process list ว่ามี query อันใหนที่มัน lock อยู่นานๆ แล้วก็ไปไล่ดูว่า table ทำ index ไว้ครบหรือยัง

เจอมาเยอะละ พวก script เขียนเอง ไม่เคยมีการทำ index กันเลย สร้างแค่ table ตาม structure ที่ต้องการกันแค่นั้น พอข้อมูลเริ่มเยอะก็มีปัญหา