BMS-HOSxP Community
HOSxP => แจ้งปัญหา / ขอความช่วยเหลือ => ข้อความที่เริ่มโดย: 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
-
::) :'(
-
spec slave ทำเป็นเครื่องหลักไม่ดีกว่าหรือครับ :)
-
เครื่องหลักจะเพิ่ม แรมเป็น 8 G ครับ แต่ของยังไม่มาครับ
-
ใช้ PC หรือปล่าวครับ
-
เปล่าครับ เครื่อง หลัก hp
เครื่องสำรอง acer ครับ
ช่วยดูเครื่อง slave ให้หน่อย ว่าทำไมกินแรมเยอะจัง
-
ผอ (Master) แค่พูดว่า เฮ้ นายทำงานยังไงนี่ ทำไมมันผิดบ่อยอย่างงี้
ผมเอง (Slave) เหงื่อไหล ซิบ ๆ
ตกลง ใครทำงานหนักกว่า หว่า ;D
**************
ข้างบน ล้อเล่นครับ
เท่าที่ผมเห็นความต่าง อย่างที่ท่านว่าอยู่ที่ OS 32 Bit ของตัวแม่ กับ 64 bit ของ Slave หรือป่าวครับ
ทั้งที่ ตัว Slave spec ดีกว่าทุกอย่าง
-
... ไม่ทราบว่าได้กำหนดให้ดึงรายงานจาก 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
-
ตัว slave ใช้ replicate จากเครื่องหลักอย่างเดียวครับ ไม่ได้ดึงรายงานอะไร
-
ผอ (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 กว่าเมก โดยประมาณ
-
ความเห็นส่วนตัวนะคับแบบว่าเคยเป็นหรือว่าไม่เคยเป็นก็ไม่รู้ งง ตอนทำก้จำได้อยู่ พอมานานๆ ความจำก็หาย
คือว่า การประมวลผลของ master เป็น 64bit การประมวลจะไว กว่า slave ประมวลผลแบบ 32 bit
ลองทดสอบให้ เครื่อง slave ลง Linux ใหม่ เป็นแบบ 64 bit ดูว่าจะไว ไหม ต้องดู ว่าเครื่อง slave รองรับ 64 bit ป่าว นะ คับ ตอนนี้ผมก็เปลี่ยนมาใช้ 64 bit หมด ล่ะคับ
ปล.เป็น slave ก็โง่จิ เสียเงินเยอะ อ่าจิ เอ่ะ ๆ ตำรวจมานะเล่นบ่อยๆ อ่ะ เหอะๆ
-
เอ.. ก็เห็นเขาบอกว่าลง แบบ 64 bit แล้วนี่ครับ ???
แล้วเครื่องใหม่ๆ ก็ใช้แบบ 64 bit ได้อยู่แล้วครับ ;D ;D ;D
-
อย่าสับสนกันเลย
มันเป็นการจองแรมของ 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
-
ขอบคุณ อ.บอย ครับ ต้องไปคำนวน 2 ค่านี้ใหม่ใช่ไหมครับ ส่วนค่าอื่นๆ ใช้ได้แล้ว
-
ขอบคุณ อ.บอย ครับ ต้องไปคำนวน 2 ค่านี้ใหม่ใช่ไหมครับ ส่วนค่าอื่นๆ ใช้ได้แล้ว
http://hosxp.net/index.php?option=com_smf&Itemid=28&topic=13680.0#new