BMS-HOSxP Community

HOSxP => แจ้งปัญหา / ขอความช่วยเหลือ => ข้อความที่เริ่มโดย: jassada ที่ กุมภาพันธ์ 11, 2010, 09:18:25 AM

หัวข้อ: ทำไมเครื่อง slave ใช้แรมเยอะ
เริ่มหัวข้อโดย: jassada ที่ กุมภาพันธ์ 11, 2010, 09:18:25 AM
เครื่อง slave ใช้แรมเยอะจังเลยครับ  เมื่อเทียบกับ เครื่องหลักที่มีการ connect ใช้งานจากผู้ใช้ 37 เครื่อง
ครับ
---เครื่อง หลัก ram 4G mysql 5.1.30 32 bit

my.cnf

[client]
port      = 3306
socket      = /var/lib/mysql/mysql.sock
default-character-set=tis620

[mysqld]
default-storage-engine=INNODB
default_table_type = INNODB
port      = 3306
socket      = /var/lib/mysql/mysql.sock
skip-locking
key_buffer = 256M
max_allowed_packet = 128M
table_cache = 1000
sort_buffer_size = 1M
read_buffer_size = 1M
read_rnd_buffer_size = 1M
max_heap_table_size = 256M
myisam_sort_buffer_size = 256M
thread_cache_size = 200
query_cache_size= 128M
thread_concurrency = 8
default-character-set=tis620
skip-name-resolve
innodb_file_per_table
skip-character-set-client-handshake
init_connect = 'SET NAMES tis620'
max-connection = 1000
innodb_data_home_dir = /var/lib/mysql/
innodb_data_file_path = ibdata1:100M:autoextend
innodb_log_group_home_dir = /var/lib/mysql/
innodb_buffer_pool_size = 1024M
innodb_additional_mem_pool_size = 24M
innodb_log_file_size = 64M
innodb_log_buffer_size = 8M
innodb_flush_log_at_trx_commit = 1
innodb_lock_wait_timeout = 50
innodb_thread_concurrency = 0

[mysqldump]
quick
max_allowed_packet = 16M
allow-keywords

[mysql]
no-auto-rehash
default-character-set=tis620

[isamchk]
key_buffer = 128M
sort_buffer_size = 128M
read_buffer = 2M
write_buffer = 2M

[myisamchk]
key_buffer = 200M
sort_buffer_size = 128M
read_buffer = 2M
write_buffer = 2M

[mysqlhotcopy]
interactive-timeout

---เครื่อง slave ram 6G mysql 5.1.41 percona 64 bit

my.cnf

[client]
port      = 3306
socket      = /var/lib/mysql/mysql.sock
default-character-set=tis620

[mysqld]
port      = 3306
socket      = /var/lib/mysql/mysql.sock

key_buffer = 1900M
max_allowed_packet = 512M
max_heap_table_size = 512M
max_connections=1000
table_cache = 1500
table_open_cache = 1500
sort_buffer_size = 1M
read_buffer_size = 1M
read_rnd_buffer_size = 1M
myisam_sort_buffer_size = 512M
thread_cache_size = 8
query_cache_type=1
query_cache_size= 512M
thread_concurrency = 8
default-character-set=tis620
skip-name-resolve
skip-character-set-client-handshake
skip-locking
init_connect = 'SET NAMES tis620'
big-tables
default-storage-engine = INNODB
join_buffer_size = 2M
concurrent_insert = 2
join_buffer_size = 2M
concurrent_insert = 2

log_bin_trust_function_creators = 1     

innodb_file_per_table
innodb_data_home_dir = /var/lib/mysql/
innodb_log_group_home_dir = /var/lib/mysql/
#interactive_timeout = 600
#wait_timeout = 1200
innodb_data_file_path = ibdata1:100M:autoextend
innodb_log_group_home_dir = /var/lib/mysql/
#############################   mysql 5.1.X
#innodb_log_arch_dir = /var/lib/mysql/
#############################
innodb_buffer_pool_size = 2400M
innodb_additional_mem_pool_size = 20M
innodb_log_file_size = 256M
innodb_log_buffer_size = 8M
innodb_flush_log_at_trx_commit = 2
innodb_lock_wait_timeout = 50
innodb_thread_concurrency = 0
#ulimit -n 30000


innodb_support_xa=0
innodb_open_files = 2000
innodb_locks_unsafe_for_binlog=1
innodb_flush_method=O_DIRECT
innodb_doublewrite=0




innodb_adaptive_checkpoint = 1
innodb_io_capacity = 10000
innodb_write_io_threads = 16
innodb_read_io_threads = 16



[mysqldump]
quick
max_allowed_packet = 512M
allow-keywords

[mysql]
no-auto-rehash
default-character-set=tis620

[isamchk]
key_buffer = 256M
sort_buffer_size = 256M
read_buffer = 2M
write_buffer = 2M

[myisamchk]
key_buffer = 256M
sort_buffer_size = 256M
read_buffer = 2M
write_buffer = 2M

[mysqlhotcopy]
interactive-timeout


หัวข้อ: Re: ทำไมเครื่อง slave ใช้แรมเยอะ
เริ่มหัวข้อโดย: jassada ที่ กุมภาพันธ์ 11, 2010, 10:23:07 AM
 ::) :'(
หัวข้อ: Re: ทำไมเครื่อง slave ใช้แรมเยอะ
เริ่มหัวข้อโดย: thecoy ที่ กุมภาพันธ์ 11, 2010, 11:41:00 AM
spec slave ทำเป็นเครื่องหลักไม่ดีกว่าหรือครับ  :)
หัวข้อ: Re: ทำไมเครื่อง slave ใช้แรมเยอะ
เริ่มหัวข้อโดย: jassada ที่ กุมภาพันธ์ 11, 2010, 11:54:43 AM
เครื่องหลักจะเพิ่ม แรมเป็น 8 G ครับ แต่ของยังไม่มาครับ
หัวข้อ: Re: ทำไมเครื่อง slave ใช้แรมเยอะ
เริ่มหัวข้อโดย: nph2006 ที่ กุมภาพันธ์ 11, 2010, 11:56:26 AM
ใช้ PC หรือปล่าวครับ
หัวข้อ: Re: ทำไมเครื่อง slave ใช้แรมเยอะ
เริ่มหัวข้อโดย: jassada ที่ กุมภาพันธ์ 11, 2010, 12:39:00 PM
เปล่าครับ  เครื่อง หลัก hp
                เครื่องสำรอง acer ครับ

ช่วยดูเครื่อง slave ให้หน่อย ว่าทำไมกินแรมเยอะจัง
หัวข้อ: Re: ทำไมเครื่อง slave ใช้แรมเยอะ
เริ่มหัวข้อโดย: no title ที่ กุมภาพันธ์ 11, 2010, 14:01:29 PM
ผอ (Master) แค่พูดว่า เฮ้ นายทำงานยังไงนี่ ทำไมมันผิดบ่อยอย่างงี้
ผมเอง (Slave) เหงื่อไหล ซิบ ๆ
ตกลง ใครทำงานหนักกว่า หว่า  ;D
**************
ข้างบน ล้อเล่นครับ
เท่าที่ผมเห็นความต่าง อย่างที่ท่านว่าอยู่ที่ OS 32 Bit ของตัวแม่ กับ 64 bit ของ Slave หรือป่าวครับ
ทั้งที่ ตัว Slave spec ดีกว่าทุกอย่าง
หัวข้อ: Re: ทำไมเครื่อง slave ใช้แรมเยอะ
เริ่มหัวข้อโดย: Khuad ที่ กุมภาพันธ์ 11, 2010, 16:19:39 PM
... ไม่ทราบว่าได้กำหนดให้ดึงรายงานจาก slave หรือใช้เครื่อง slave เป็น image server ด้วยหรือเปล่าครับ ..

... ลองใช้การ config MySQL ของเครื่อง slave ตามข้างล่าง  แล้วลองทดสอบดูนะครับ ...  :D ...


[client]
port  = 3306
socket  = /var/lib/mysql/mysql.sock
default-character-set=tis620

[mysqld]
port  = 3306
socket = /var/lib/mysql/mysql.sock
skip-locking
big-tables
default-character-set=tis620
skip-name-resolve
skip-character-set-client-handshake
init_connect = 'SET NAMES tis620'
log_bin_trust_function_creators = 1
max_connection = 1000
concurrent_insert = 2
table_cache = 1700
max_allowed_packet = 160M
max_heap_table_size = 128M
sort_buffer_size = 1M
join_buffer_size = 2M
thread_cache_size = 8
thread_concurrency = 8
query_cache_size = 128M

key_buffer = 320M
read_buffer_size = 1M
read_rnd_buffer_size = 2M
myisam_sort_buffer_size = 128M

innodb_data_home_dir = /var/lib/mysql/
innodb_data_file_path = ibdata1:10M:autoextend
innodb_log_group_home_dir = /var/lib/mysql/
innodb_file_per_table
innodb_buffer_pool_size = 3072M
innodb_additional_mem_pool_size = 24M
innodb_log_file_size = 256M
innodb_log_buffer_size = 8M
innodb_thread_concurrency = 8
innodb_flush_method = O_DIRECT
innodb_flush_log_at_trx_commit = 2
innodb_doublewrite = 0
innodb_support_xa = 0
innodb_open_files = 1000
innodb_locks_unsafe_for_binlog = 1
innodb_lock_wait_timeout = 50

#***percona Extra-DB Only***
innodb_adaptive_checkpoint = 1
innodb_io_capacity = 10000
innodb_write_io_threads = 16
innodb_read_io_threads = 16
#***percona Extra-DB Only***


[mysqldump]
quick
max_allowed_packet = 512M
allow-keywords

[mysql]
no-auto-rehash
default-character-set=tis620

[isamchk]
key_buffer = 128M
sort_buffer_size = 128M
read_buffer = 2M
write_buffer = 2M

[myisamchk]
key_buffer = 256M
sort_buffer_size = 128M
read_buffer = 2M
write_buffer = 2M

[mysqlhotcopy]
interactive-timeout


หัวข้อ: Re: ทำไมเครื่อง slave ใช้แรมเยอะ
เริ่มหัวข้อโดย: jassada ที่ กุมภาพันธ์ 11, 2010, 17:02:10 PM
ตัว slave ใช้ replicate จากเครื่องหลักอย่างเดียวครับ ไม่ได้ดึงรายงานอะไร 
หัวข้อ: Re: ทำไมเครื่อง slave ใช้แรมเยอะ
เริ่มหัวข้อโดย: [-_เอ็ม_-] ที่ กุมภาพันธ์ 11, 2010, 22:36:06 PM
ผอ (Master) แค่พูดว่า เฮ้ นายทำงานยังไงนี่ ทำไมมันผิดบ่อยอย่างงี้
ผมเอง (Slave) เหงื่อไหล ซิบ ๆ
ตกลง ใครทำงานหนักกว่า หว่า  ;D
**************
ข้างบน ล้อเล่นครับ
เท่าที่ผมเห็นความต่าง อย่างที่ท่านว่าอยู่ที่ OS 32 Bit ของตัวแม่ กับ 64 bit ของ Slave หรือป่าวครับ
ทั้งที่ ตัว Slave spec ดีกว่าทุกอย่าง

คล้ายๆ กับผมตอนนี้เลยครับ งง กับมันอยู่

Masrter :
IBM system x3200 m2
RAM 1GB
HD 75 15000rpm
XEON 3.0GHz
CentOS 4.3 32bit
MySQL 5.1.41-log

Slave :
Lemel by Synex (ประกอบจากโรงงาน)
RAM 2GB
HDD 350GB
CoreDUO 3.0
CentOS 5.4 64bit
MySQL 5.1.42
ใช้ Replicate จากเครื่อง Master อย่างเดียว RAM เหลือแค่ 600 - 700 กว่าเมก โดยประมาณ
หัวข้อ: Re: ทำไมเครื่อง slave ใช้แรมเยอะ
เริ่มหัวข้อโดย: naydekdee ที่ กุมภาพันธ์ 11, 2010, 23:41:18 PM
ความเห็นส่วนตัวนะคับแบบว่าเคยเป็นหรือว่าไม่เคยเป็นก็ไม่รู้  งง  ตอนทำก้จำได้อยู่ พอมานานๆ ความจำก็หาย
 คือว่า  การประมวลผลของ  master  เป็น  64bit  การประมวลจะไว  กว่า slave  ประมวลผลแบบ  32 bit
 ลองทดสอบให้ เครื่อง slave  ลง Linux ใหม่ เป็นแบบ 64  bit  ดูว่าจะไว ไหม ต้องดู ว่าเครื่อง slave  รองรับ  64  bit  ป่าว นะ คับ ตอนนี้ผมก็เปลี่ยนมาใช้ 64 bit  หมด ล่ะคับ
   ปล.เป็น   slave   ก็โง่จิ  เสียเงินเยอะ อ่าจิ   เอ่ะ ๆ  ตำรวจมานะเล่นบ่อยๆ อ่ะ เหอะๆ     
หัวข้อ: Re: ทำไมเครื่อง slave ใช้แรมเยอะ
เริ่มหัวข้อโดย: yord ที่ กุมภาพันธ์ 12, 2010, 07:56:09 AM
เอ.. ก็เห็นเขาบอกว่าลง แบบ 64 bit แล้วนี่ครับ ???
แล้วเครื่องใหม่ๆ ก็ใช้แบบ 64 bit ได้อยู่แล้วครับ ;D ;D ;D
หัวข้อ: config my.cnf แบบ บอย(ด่านมะขามเตี้ย)
เริ่มหัวข้อโดย: มนตรี บอยรักยุ้ยคนเดียว ที่ กุมภาพันธ์ 12, 2010, 08:43:55 AM
อย่าสับสนกันเลย
มันเป็นการจองแรมของ MYSQL
จาก
key_buffer = 1900M
innodb_buffer_pool_size = 2400M

แรมจะถูกจองไป

1900+2400 = 4300 M

เวลาผมทำจะดูจำนวนตารางที่ใช้ว่า
MYISAM
key_buffer = %ตารางที่เป็น MYISAM *(sort_buffer_size+read_buffer_size+read_rnd_buffer_size)*(จำนวนเครื่องทั้งหมด+10)/100

INNODB
innodb_buffer_pool_size = %ตารางที่เป็น INNODB *(sort_buffer_size+read_buffer_size+read_rnd_buffer_size)*(จำนวนเครื่องทั้งหมด+10)/100

innodb_buffer_pool_size+key_buffer ต้องอยู่ระหว่าง 50-80 % RAM SERVER





หัวข้อ: Re: ทำไมเครื่อง slave ใช้แรมเยอะ
เริ่มหัวข้อโดย: jassada ที่ กุมภาพันธ์ 12, 2010, 09:00:09 AM
ขอบคุณ อ.บอย ครับ ต้องไปคำนวน 2 ค่านี้ใหม่ใช่ไหมครับ ส่วนค่าอื่นๆ ใช้ได้แล้ว 
หัวข้อ: Re: ทำไมเครื่อง slave ใช้แรมเยอะ
เริ่มหัวข้อโดย: มนตรี บอยรักยุ้ยคนเดียว ที่ กุมภาพันธ์ 12, 2010, 09:02:43 AM
ขอบคุณ อ.บอย ครับ ต้องไปคำนวน 2 ค่านี้ใหม่ใช่ไหมครับ ส่วนค่าอื่นๆ ใช้ได้แล้ว 

http://hosxp.net/index.php?option=com_smf&Itemid=28&topic=13680.0#new