BMS-HOSxP Community

HOSxP => แจ้งปัญหา / ขอความช่วยเหลือ => ข้อความที่เริ่มโดย: ismailsa ที่ มิถุนายน 08, 2010, 09:07:20 AM

หัวข้อ: ทดสอบการทำ Replication ด้วย my.cnf
เริ่มหัวข้อโดย: ismailsa ที่ มิถุนายน 08, 2010, 09:07:20 AM
สวัสดีครับ อาจารย์ทุกท่าน
ผมได้เซิฟเวอร์มาใหม่ เป็น HP ML116G6 เพิ่ม แรม เป็น 4 กิ เพิ่ม HDD เป็น 500 GB ติดตั้ง Centos5.4 Mysql5.1.30
คอนฟิก My.cnf ตามรูปแบบเดิม(ของ server เก่า เพราะของเก่าแรม 4 กิ เหมือนกัน mysql ver.เดียวกัน ตัวเก่าดู workload นิ่งกว่า) แต่สิ่งที่เพิ่มมาจาก my.cnf ใหม่คือ การเซ็ต master to slave replication ตามวิธีของคุณ tanoy999
ปรากฏว่า Replicate ใช้ได้ แต่ดูเหมือน workload จะไม่นิ่งเลย ดูโปรเซสแล้ว โอ้...แรม 4 กิ ใช้ไป 3.85 เหลือ 185 กิ มันผิดปกติหรือปล่าวครับ หรือว่าการทำ master to slave replication มีผลทำให้ master ทำงานหนัก แนบมาให้ดูด้วยครับ user บ่นว่าอืด
หัวข้อ: Re: ทดสอบการทำ Replication ด้วย my.cnf
เริ่มหัวข้อโดย: แอดวิน รพ.สหัสขันธ์ ที่ มิถุนายน 08, 2010, 09:17:39 AM
 ;D ผมขออาสา เป็นคนจุดเทียนให้พี่ๆ แอดมินนะคับ  ;D
หัวข้อ: Re: ทดสอบการทำ Replication ด้วย my.cnf
เริ่มหัวข้อโดย: ismailsa ที่ มิถุนายน 08, 2010, 09:26:30 AM
แนบรูปมาครับ
หัวข้อ: Re: ทดสอบการทำ Replication ด้วย my.cnf
เริ่มหัวข้อโดย: มดตานอย ครับ.. ที่ มิถุนายน 08, 2010, 09:39:16 AM
ผมก็ไม่แน่ใจว่า  อาการอืด ที่ว่า เป็นกับการทำระบบ replicate ที่ว่า   หรือเป็นกับอย่างอื่น   แต่ที่แน่ๆคือ  server master  จะทำงานมากขึ้น     ทั้งปกติ และ บวกกับ การเขียน ไฟล์ log  ด้วย 
ถ้าคิดว่าเป็นกับ ระบบ relpicate ที่ว่าน่าจะลองหยุดทำก่อนครับ  แล้วดูว่ามันจะปกติหรือไม่  กรุณาทำอย่างระมัดระวังด้วย  จะทำอะไร  backup ทุกครั้ง   


 
หัวข้อ: Re: ทดสอบการทำ Replication ด้วย my.cnf
เริ่มหัวข้อโดย: ismailsa ที่ มิถุนายน 08, 2010, 10:01:58 AM
ตอนนี้ อาจารย์ tanoy999 ใช้ระบบนี้อยู่ปล่าวครับ แล้วเป็นยังงัยบ้าง แรมควรจะต้องเท่าไหร่จึงจะเหมาะสมครับ
ขอคำชี้แนะด้วย
หัวข้อ: Re: ทดสอบการทำ Replication ด้วย my.cnf
เริ่มหัวข้อโดย: patum ที่ มิถุนายน 08, 2010, 10:12:40 AM
การทำ active  replication จะช่วยเพิ่ม workload แน่นอน ครับ
่่่ส่วนตัวแล้ว .ใช้ passive replication บน HOSxP เนียนกว่าครับ
หัวข้อ: Re: ทดสอบการทำ Replication ด้วย my.cnf
เริ่มหัวข้อโดย: ismailsa ที่ มิถุนายน 08, 2010, 13:18:20 PM
ตอนเที่ยงครึ่ง ลองไปคอมเมนไฟล์ my.cnf ที่เป็นช่วงของการทำ active Replication แล้วรีสตาร์ทเครื่องใหม่
ลองดูโปรเซส แรม 4.0 G
 4139456k  total
 260844      used
 3878612    free
 เอ มันคนละเรื่องเลยนะเนี้ยะ.....
 แสดงว่า การทำ active Replication มีผลมากสำหรับโปรเซสของ OS แต่มันก็ไม่น่าจะมากมายอะไรขนาดนี้
ไว้ช่วงตอนที่ user เยอะ ๆ จะ capture หน้าจอมาให้ดูอีกทีนะครับ
                           
หัวข้อ: Re: ทดสอบการทำ Replication ด้วย my.cnf
เริ่มหัวข้อโดย: pop_hosxp ที่ มิถุนายน 08, 2010, 13:24:03 PM
ทำไมตั้งค่า innodb_buffer_pool_size น้อยจังครับ แค่ 8M เอง อย่างน้อยน่าจะประมาณ 50% ของ ram ในกรณีนี้ถ้ามีอยู่ 4096 M ก็น่าจะ set เป็น 2048 M ครับ แล้วลองดู mysql workload monitor อีกครั้ง
หัวข้อ: Re: ทดสอบการทำ Replication ด้วย my.cnf
เริ่มหัวข้อโดย: มดตานอย ครับ.. ที่ มิถุนายน 08, 2010, 13:34:22 PM
ทำไมตั้งค่า innodb_buffer_pool_size น้อยจังครับ แค่ 8M เอง อย่างน้อยน่าจะประมาณ 50% ของ ram ในกรณีนี้ถ้ามีอยู่ 4096 M ก็น่าจะ set เป็น 2048 M ครับ แล้วลองดู mysql workload monitor อีกครั้ง

เห็นด้วยครับ ค่ามัน ต่ำจริงๆ
หัวข้อ: Re: ทดสอบการทำ Replication ด้วย my.cnf
เริ่มหัวข้อโดย: ismailsa ที่ มิถุนายน 08, 2010, 13:36:26 PM
ลองเซ็ตแล้วครับแต่ restart service mysql แล้ว faild  (พิมพ์ก็ถูกครับ)ไม่รู้ว่าเปิดตั้งค่าชนกันกับตัวไหนหรือปล่าว ก็เลยคอมเม้นไปครับ ฝากดู my.cnf หน่อยนะครับ ว่าต้องปรับที่ไหนบ้าง
หัวข้อ: Re: ทดสอบการทำ Replication ด้วย my.cnf
เริ่มหัวข้อโดย: ismailsa ที่ มิถุนายน 08, 2010, 13:50:21 PM
อันนี้เป็นตัวที่คอมเมนต์ innodb_buffer_pool_size ครับ แล้ว restart service mysql แล้ว faild
หัวข้อ: Re: ทดสอบการทำ Replication ด้วย my.cnf
เริ่มหัวข้อโดย: มดตานอย ครับ.. ที่ มิถุนายน 08, 2010, 14:00:22 PM
centos 4.7-server -cd +percona 5.1.45-10.2


หัวข้อ: Re: ทดสอบการทำ Replication ด้วย my.cnf
เริ่มหัวข้อโดย: pop_hosxp ที่ มิถุนายน 08, 2010, 14:04:57 PM
ไป comment innodb ทุกอันก็ start ไม่ขึ้นสิครับ เอา my.cnf ที่เคยใช้ได้ แล้วแก้ไข เพิ่มค่าเฉพาะตรง innodb_buffer_pool_size จาก 8 M เป็น 2048 M แล้ว restart mysql ใหม่ก็ใช้ได้แล้วครับ
หัวข้อ: Re: ทดสอบการทำ Replication ด้วย my.cnf
เริ่มหัวข้อโดย: มดตานอย ครับ.. ที่ มิถุนายน 08, 2010, 14:10:03 PM
ไป comment innodb ทุกอันก็ start ไม่ขึ้นสิครับ เอา my.cnf ที่เคยใช้ได้ แล้วแก้ไข เพิ่มค่าเฉพาะตรง innodb_buffer_pool_size จาก 8 M เป็น 2048 M แล้ว restart mysql ใหม่ก็ใช้ได้แล้วครับ

ลองดูครับ


หัวข้อ: Re: ทดสอบการทำ Replication ด้วย my.cnf
เริ่มหัวข้อโดย: ismailsa ที่ มิถุนายน 08, 2010, 14:56:09 PM
workload กับ Process ตอนบ่าย 2.55 น
หัวข้อ: Re: ทดสอบการทำ Replication ด้วย my.cnf
เริ่มหัวข้อโดย: pop_hosxp ที่ มิถุนายน 08, 2010, 20:27:35 PM
innodb_buffer_pool_size ยังเป็น 8 M อยู่เลย  ??? ??? ??? อยากทราบว่าเคยได้ทำ high performance หรือเปล่าครับ เข้าใจว่าตารางส่วนใหญ่ของระบบจะเป็นแบบ innodb ดังนั้นน่าจะปรับค่า innodb_buffer_pool_size เป็น 2048 M ระบบน่าจะ run ได้ดีขึ้นครับ
หัวข้อ: Re: ทดสอบการทำ Replication ด้วย my.cnf
เริ่มหัวข้อโดย: มนตรี บอยรักยุ้ยคนเดียว ที่ มิถุนายน 08, 2010, 21:28:14 PM
innodb_buffer_pool_size ยังเป็น 8 M อยู่เลย  ??? ??? ??? อยากทราบว่าเคยได้ทำ high performance หรือเปล่าครับ เข้าใจว่าตารางส่วนใหญ่ของระบบจะเป็นแบบ innodb ดังนั้นน่าจะปรับค่า innodb_buffer_pool_size เป็น 2048 M ระบบน่าจะ run ได้ดีขึ้นครับ

แนะนำให้ทำ
แบบ pop_hosxp
หัวข้อ: Re: ทดสอบการทำ Replication ด้วย my.cnf
เริ่มหัวข้อโดย: pop_hosxp ที่ มิถุนายน 08, 2010, 21:36:30 PM
อ้างจาก: บอย[ด่านมะขามเตี้ย
link=topic=15597.msg125616#msg125616
แนะนำให้ทำ
แบบ pop_hosxp

อาจารย์บอย เข้ามา confirm แล้วครับ ฟันธง!!!
หัวข้อ: Re: ทดสอบการทำ Replication ด้วย my.cnf
เริ่มหัวข้อโดย: ismailsa ที่ มิถุนายน 10, 2010, 09:20:34 AM
มาเช้านี้อาการเดิมมาอีกแล้ว ลองดูโปรเซสแล้วสูงมาก....น่าจะเกิดจากตัว OS เองหรือปล่าว ช่วยดูหน่อยนะครับว่าเกิดจากอะไร workload ก็ดูไม่เท่าไหร่
หัวข้อ: Re: ทดสอบการทำ Replication ด้วย my.cnf
เริ่มหัวข้อโดย: มดตานอย ครับ.. ที่ มิถุนายน 10, 2010, 09:25:48 AM
my.cnf  ยังเหมือนเดิม  ต้องแก้ไขก่อนครับ   ตาม นี้

innodb_buffer_pool_size ยังเป็น 8 M อยู่เลย  ??? ??? ??? อยากทราบว่าเคยได้ทำ high performance หรือเปล่าครับ เข้าใจว่าตารางส่วนใหญ่ของระบบจะเป็นแบบ innodb ดังนั้นน่าจะปรับค่า innodb_buffer_pool_size เป็น 2048 M ระบบน่าจะ run ได้ดีขึ้นครับ
innodb_buffer_pool_size ยังเป็น 8 M อยู่เลย  ??? ??? ??? อยากทราบว่าเคยได้ทำ high performance หรือเปล่าครับ เข้าใจว่าตารางส่วนใหญ่ของระบบจะเป็นแบบ innodb ดังนั้นน่าจะปรับค่า innodb_buffer_pool_size เป็น 2048 M ระบบน่าจะ run ได้ดีขึ้นครับ

แนะนำให้ทำ
แบบ pop_hosxp
หัวข้อ: Re: ทดสอบการทำ Replication ด้วย my.cnf
เริ่มหัวข้อโดย: ismailsa ที่ มิถุนายน 10, 2010, 11:18:04 AM
ช่วยดู my.cnf หน่อยครับว่ายังมีปัญหาตรงไหน ลองเอาคอมเมนต์ออกตรง innodb_buffer_pool_size=2048M
พอรีสตารท์ service mysql แล้ว faild ส่วนที่อื่นก้อเอาคอมเมนต์ออกหมดแล้ว
หัวข้อ: Re: ทดสอบการทำ Replication ด้วย my.cnf
เริ่มหัวข้อโดย: thecoy ที่ มิถุนายน 10, 2010, 11:26:59 AM
#innodb_buffer_pool_size = 2048M
เอาcomment ออก แล้ว Restart ใหม่
หัวข้อ: Re: ทดสอบการทำ Replication ด้วย my.cnf
เริ่มหัวข้อโดย: มดตานอย ครับ.. ที่ มิถุนายน 10, 2010, 11:31:35 AM
#innodb_buffer_pool_size = 2048M
เอาcomment ออก แล้ว Restart ใหม่

ตามนั้นครับ    ถ้าไม่ได้   format ทำใหม่เลย   ลง os +mysql  +my.cnf +up st. + ทำ hp.  ใหม่เลย 

-CentOS 4.7-ServerCD + Percona 5.1.45-10.2 +my.cnf  ใหม่  อ.บอย  ยืนยัน     ;D ;D ;D

กำลังลองของ

-FreeeBSD 8.0 + MariaDB 5.1.47  +my.cnf    ??? ??? ??? ??? ??? >:( >:( >:( >:( :D :D ;D
หัวข้อ: Re: ทดสอบการทำ Replication ด้วย my.cnf
เริ่มหัวข้อโดย: มดตานอย ครับ.. ที่ มิถุนายน 10, 2010, 11:37:07 AM
รกจัง น่าจะสะอาด แบบนี้  ดูง่าย

########################### mysql config #########################

[client]
#password   = your_password
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 = 512M
max_allowed_packet = 128M
table_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_size = 128M
thread_concurrency = 8
default-character-set=tis620
max_connections = 1500
max_connect_errors = 10
skip-name-resolve
skip-character-set-client-handshake
init_connect = 'SET NAMES tis620'
log_bin_trust_function_creators = 1

############## innodb option ##############
innodb_data_home_dir = /var/lib/mysql/
innodb_data_file_path = ibdata1:2000M;ibdata2:10M:autoextend
innodb_log_group_home_dir = /var/lib/mysql/
innodb_buffer_pool_size = 2048M
innodb_additional_mem_pool_size = 20M
innodb_log_file_size = 1048M
innodb_log_buffer_size = 8M
innodb_lock_wait_timeout = 2000
innodb_file_per_table
innodb_thread_concurrency = 16
innodb_flush_log_at_trx_commit = 1
innodb_flush_method=O_DIRECT
innodb_doublewrite = 0
innodb_support_xa = 0
innodb_open_files = 2000
innodb_locks_unsafe_for_binlog = 1
join_buffer_size = 2M
concurrent_insert = 2
max_heap_table_size = 512M

[mysqldump]
quick
max_allowed_packet = 16M

[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 = 400M
sort_buffer_size = 256M
read_buffer = 2M
write_buffer = 2M

[mysqlhotcopy]
interactive-timeout



 ;D ;D ;D ;D ;D
หัวข้อ: Re: ทดสอบการทำ Replication ด้วย my.cnf
เริ่มหัวข้อโดย: มดตานอย ครับ.. ที่ มิถุนายน 10, 2010, 11:38:34 AM
รกจัง น่าจะสะอาด แบบนี้  ดูง่าย

########################### mysql config #########################

[client]
#password   = your_password
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 = 512M
max_allowed_packet = 128M
table_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_size = 128M
thread_concurrency = 8
default-character-set=tis620
max_connections = 1500
max_connect_errors = 10
skip-name-resolve
skip-character-set-client-handshake
init_connect = 'SET NAMES tis620'
log_bin_trust_function_creators = 1

############## innodb option ##############
innodb_data_home_dir = /var/lib/mysql/
innodb_data_file_path = ibdata1:2000M;ibdata2:10M:autoextend
innodb_log_group_home_dir = /var/lib/mysql/
innodb_buffer_pool_size = 2048M
innodb_additional_mem_pool_size = 20M
innodb_log_file_size = 1048M
innodb_log_buffer_size = 8M
innodb_lock_wait_timeout = 2000
innodb_file_per_table
innodb_thread_concurrency = 16
innodb_flush_log_at_trx_commit = 1
innodb_flush_method=O_DIRECT
innodb_doublewrite = 0
innodb_support_xa = 0
innodb_open_files = 2000
innodb_locks_unsafe_for_binlog = 1
join_buffer_size = 2M
concurrent_insert = 2
max_heap_table_size = 512M

[mysqldump]
quick
max_allowed_packet = 16M

[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 = 400M
sort_buffer_size = 256M
read_buffer = 2M
write_buffer = 2M

[mysqlhotcopy]
interactive-timeout



 ;D ;D ;D ;D ;D



อ.บอย  เค้าถนัด  my.cnf
หัวข้อ: Re: ทดสอบการทำ Replication ด้วย my.cnf
เริ่มหัวข้อโดย: ismailsa ที่ มิถุนายน 11, 2010, 09:33:51 AM
ขอบคุณอาจารย์ทุกท่านครับ
ตอนนี้ฟอแมตเซิฟเวอร์ แล้วลง centos4.7 กะลังลง pecona-extradb 5.1.45 ได้ยังงัยแล้วจะแจ้งอีกทีครับ
หัวข้อ: Re: ทดสอบการทำ Replication ด้วย my.cnf
เริ่มหัวข้อโดย: มนตรี บอยรักยุ้ยคนเดียว ที่ มิถุนายน 11, 2010, 09:52:41 AM

อ.บอย  เค้าถนัด  my.cnf

แค่ใช้แล้วดีกว่าเดิม ก็ดีแล้ว
หัวข้อ: Re: ทดสอบการทำ Replication ด้วย my.cnf
เริ่มหัวข้อโดย: ismailsa ที่ มิถุนายน 13, 2010, 16:16:22 PM
วันนี้ได้ลอง centos4.7 + mysql5.1.30 +my.cnf  เรียบร้อย แต่เวลา reboot server ใหม่ทำให้ mysql ไม่ทำงาน
(Faild) ลอง start ด้วยคำสั่ง service mysql start ก็ไม่ได้ ต้องลบ file ib* ใน /var/lib/mysql ถึงจะสตาร์ท
service mysql ได้ เกิดอะไรขึ้นครับ ช่วยดูหน่อยนะครับ แนบ file my.cnf และ hosxp.errorมาด้วย