ผู้เขียน หัวข้อ: ไม่รู้เกิดอะไรขึ้น ??? กับ Server  (อ่าน 4461 ครั้ง)

0 สมาชิก และ 1 บุคคลทั่วไป กำลังดูหัวข้อนี้

ออฟไลน์ udomchok

  • Hero Member
  • *****
  • กระทู้: 8,350
  • Respect: +589
    • ดูรายละเอียด
    • ร.พ.สมเด็จพระสังฆราช องค์ที่ 17
ไม่รู้เกิดอะไรขึ้น ??? กับ Server
« เมื่อ: พฤศจิกายน 26, 2009, 23:15:07 PM »
0
หลังจากเพิ่ม RAM จาก 2 เป็น 16GB และกำหนดค่า my.cnf ตามที่ อ.ขวด และ อ.บอย แนะนำ
ใช้มาได้พักใหญ่ / 2-3 วันนี้ไม่รู้เกิดอะไรขึ้น MySQL Load มากเลย ทำให้ระบบช้าลง พอไปดู Top พบว่า mysqld รับประทาน memory ไปมาก รวมทั้ง %CPU ก็สูงผิดปกติ แต่ดูใน MySQL monitor ไม่พบ process ใดผิดปกติ หรือค้างอยู่
สุดท้ายไม่รู้จะแก้อย่างไร เลยต้อง restart mysql ซะ แต่ก็ไม่สำเร็จ จนสุดท้ายต้อง restart server เลย
เฮ้อ....  ??? ??? ???
ทำด้วยหัวใจร.พ.สมเด็จพระสังฆราช องค์ที่ 17 อ.สองพี่น้อง จ.สุพรรณบุรี
อบรมโดย BMS Team เมื่อ พ.ย. 49 ขึ้นระบบห้องบัตรเมื่อ X'Mas 2007
2008 : X-Ray กายภาพบำบัด แพทย์แผนไทย กิจกรรมบำบัด OPD ตา
2009 : ทันตกรรม ห้องตรวจตา OPD (พยาบาลและห้องตรวจแพทย์บางห้อง)

doramon

  • บุคคลทั่วไป
Re: ไม่รู้เกิดอะไรขึ้น ??? กับ Server
« ตอบกลับ #1 เมื่อ: พฤศจิกายน 26, 2009, 23:28:14 PM »
0
1. centos  64bit หรือ  32bit

2. max_connection = 2000 


ที่โรงพยาบาล network บ่อยๆๆ  หรือเปล่าครับ

ถ้าไม่บ่อย ลดลง 500 ก็พอครับ

เจอทาง msn หรือ chart  hosxp

ออฟไลน์ udomchok

  • Hero Member
  • *****
  • กระทู้: 8,350
  • Respect: +589
    • ดูรายละเอียด
    • ร.พ.สมเด็จพระสังฆราช องค์ที่ 17
Re: ไม่รู้เกิดอะไรขึ้น ??? กับ Server
« ตอบกลับ #2 เมื่อ: พฤศจิกายน 26, 2009, 23:51:56 PM »
0
ดูใน hostname.err
091126 11:05:04  InnoDB: Error: cannot allocate 12884918272 bytes of
InnoDB: memory with malloc! Total allocated memory
InnoDB: by InnoDB 53796176 bytes. Operating system errno: 12
InnoDB: Check if you should increase the swap file or
InnoDB: ulimits of your operating system.
InnoDB: On FreeBSD check you have compiled the OS with
InnoDB: a big enough maximum process size.
InnoDB: Note that in most 32-bit computers the process
InnoDB: memory space is limited to 2 GB or 4 GB.
InnoDB: We keep retrying the allocation for 60 seconds...
InnoDB: Fatal error: cannot allocate the memory for the buffer pool

เปลี่ยนแปลงค่า ulimits ใน /etc/init.d/mysql จาก 20000 เป็น 30000
ได้กำหนดค่าใน /etc/security/limits.conf แล้วตั้งแต่เพิ่ม RAM
root            soft    nofile          30000
root            hard    nofile          30000
mysql           soft    nofile          30000
mysql           hard    nofile          30000


1. centos  64bit หรือ  32bit

2. max_connection = 2000 

ที่โรงพยาบาล network บ่อยๆๆ  หรือเปล่าครับ

ถ้าไม่บ่อย ลดลง 500 ก็พอครับ

เจอทาง msn หรือ chart  hosxp
CentOS 5.4 64 bit
max_Connection=2000


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

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

default-storage-engine = INNODB
default-character-set=tis620
skip-name-resolve
skip-character-set-client-handshake
init_connect = 'SET NAMES tis620'

max-connection = 2000
concurrent_insert = 2
table_cache = 2048
max_allowed_packet = 1G
max_heap_table_size = 2G
key_buffer = 1024M
sort_buffer_size = 4M
read_buffer_size = 4M
read_rnd_buffer_size = 4M
join_buffer_size = 8M
myisam_sort_buffer_size = 2G
thread_cache = 8
query_cache_size= 2G
thread_concurrency = 8
skip-federated
server_id=1
innodb_file_per_table
innodb_data_home_dir = /var/lib/mysql/
innodb_data_file_path = ibdata1:100M:autoextend
innodb_log_group_home_dir = /var/lib/mysql/
#innodb_log_arch_dir = /var/lib/mysql/
innodb_buffer_pool_size = 12G
innodb_additional_mem_pool_size = 24M
innodb_log_file_size = 256M
innodb_log_buffer_size = 20M
innodb_flush_log_at_trx_commit = 2
innodb_max_dirty_pages_pct = 90
innodb_lock_wait_timeout = 120
innodb_thread_concurrency = 0
innodb_support_xa=0
innodb_open_files = 3000
innodb_locks_unsafe_for_binlog=1
innodb_flush_method=O_DIRECT
innodb_doublewrite=0
#innodb_adaptive_checkpoint = 1
#innodb_io_capacity = 1000
#innodb_write_io_threads = 16
#innodb_read_io_threads = 16

[mysqldump]
quick
max_allowed_packet = 2G
allow-keywords

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

[isamchk]
key_buffer = 1024M
sort_buffer_size = 1024M
read_buffer = 16M
write_buffer = 16M

[myisamchk]
key_buffer = 1024M
sort_buffer_size = 1024M
read_buffer = 16M
write_buffer = 16M

[mysqlhotcopy]
interactive-timeout

[mysqld_safe]
ทำด้วยหัวใจร.พ.สมเด็จพระสังฆราช องค์ที่ 17 อ.สองพี่น้อง จ.สุพรรณบุรี
อบรมโดย BMS Team เมื่อ พ.ย. 49 ขึ้นระบบห้องบัตรเมื่อ X'Mas 2007
2008 : X-Ray กายภาพบำบัด แพทย์แผนไทย กิจกรรมบำบัด OPD ตา
2009 : ทันตกรรม ห้องตรวจตา OPD (พยาบาลและห้องตรวจแพทย์บางห้อง)

ออฟไลน์ Khuad

  • Hero Member
  • *****
  • กระทู้: 3,778
  • .. นางฟ้า ตัวไม่น้อยแล้ว ..
  • Respect: +10
    • ดูรายละเอียด
Re: ไม่รู้เกิดอะไรขึ้น ??? กับ Server
« ตอบกลับ #3 เมื่อ: พฤศจิกายน 27, 2009, 00:56:01 AM »
0

... ดู my.cnf แล้วไม่ค่อยเหมือนที่ผมแนะนำเท่าไหร่ครับ 55555  ;D  ;D 
    ปกติผมไม่ค่อย set  my.cnf  อัดไว้เต็มที่เท่าไรหรอกครับพี่โก้ ....
 
    ไม่รู้ว่ากำหนดค่าบางตัวที่มันจองตาม connection ไว้เยอะไปหรือเปล่า   จำไม่ได้เหมือนกันว่ามีตัวไหนบ้าง  เคยพยายามแปลแบบงูๆ ปลาๆ ไว้หมือนกันแต่อยู่ที่เครื่องบนโรงพยาบาล เดี๋ยวพรุ่งนี้ลองดูอีกทีครับ
     อีกอย่างผมจะมีการกำหนดขนาดของ tmp_table ไว้ด้วย เผื่อไว้ก่อนครับ ..  :D ...
โรงพยาบาลวังน้อย   พระนครศรีอยุธยา ( รพช.30 เตียง )
Server : ProLiant DL120G6  Xeon X3450  RDIMM 12 Gb  2x256GB SSD Raid 1
OS : CentOS 6.3  DB : Percona 5.5.21

Slave : ProLiant ML110G6  Xeon X3430  UDIMM 8 Gb  2x300GB SAS Raid 1
OS : CentOS 6.3  DB : Percona 5.5.32

HOSxP version  3.57.xx.xx    เริ่มระบบ  เมษายน 2549

ออฟไลน์ มนตรี บอยรักยุ้ยคนเดียว

  • Hero Member
  • *****
  • กระทู้: 5,369
  • Respect: +12
    • ดูรายละเอียด
    • โรงพยาบาลชุมชน ด่านมะขามเตี้ย
Re: ไม่รู้เกิดอะไรขึ้น ??? กับ Server
« ตอบกลับ #4 เมื่อ: พฤศจิกายน 27, 2009, 07:29:34 AM »
0

CentOS 5.4 64 bit
max_Connection=2000


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

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

default-storage-engine = INNODB
default-character-set=tis620
skip-name-resolve
skip-character-set-client-handshake
init_connect = 'SET NAMES tis620'

max-connection = 2000
concurrent_insert = 2
table_cache = 2048
max_allowed_packet = 1G
max_heap_table_size = 2G
key_buffer = 1024M
sort_buffer_size = 4M ลดเหลือ 2M
read_buffer_size = 4M ลดเหลือ 2M
read_rnd_buffer_size = 4M ลดเหลือ 2M
join_buffer_size = 8M ลดเหลือ 4M
myisam_sort_buffer_size = 2G
thread_cache = 8
query_cache_size= 2G
thread_concurrency = 8
skip-federated
server_id=1
innodb_file_per_table
innodb_data_home_dir = /var/lib/mysql/
innodb_data_file_path = ibdata1:100M:autoextend
innodb_log_group_home_dir = /var/lib/mysql/
#innodb_log_arch_dir = /var/lib/mysql/
innodb_buffer_pool_size = 12G
innodb_additional_mem_pool_size = 24M
innodb_log_file_size = 256M
innodb_log_buffer_size = 20M
innodb_flush_log_at_trx_commit = 2
innodb_max_dirty_pages_pct = 90
innodb_lock_wait_timeout = 120
innodb_thread_concurrency = 0
innodb_support_xa=0
innodb_open_files = 3000
innodb_locks_unsafe_for_binlog=1
innodb_flush_method=O_DIRECT
innodb_doublewrite=0
#innodb_adaptive_checkpoint = 1
#innodb_io_capacity = 1000
#innodb_write_io_threads = 16
#innodb_read_io_threads = 16

[mysqldump]
quick
max_allowed_packet = 2G
allow-keywords

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

[isamchk]
key_buffer = 1024M เพิ่มเป็น 2048M
sort_buffer_size = 1024M เพิ่มเป็น 2048M
read_buffer = 16M
write_buffer = 16M

[myisamchk]
key_buffer = 1024M เพิ่มเป็น 3000M
sort_buffer_size = 1024M เพิ่มเป็น 2048M
read_buffer = 16M
write_buffer = 16M

[mysqlhotcopy]
interactive-timeout

[mysqld_safe]


มี เครื่องลูกประมาณกี่เครื่อง
้hub ประมาณกี่เครื่อง
มีสำรองต่อเข้ากับ hub ทั้งหมด กี่เครื่อง
« แก้ไขครั้งสุดท้าย: พฤศจิกายน 27, 2009, 07:36:00 AM โดย บอย(ด่านมะขามเตี้ย) »
เริ่ม11พย.2548OPD-Paperlessพร้อมHOSxPลดโลกร้อน
FF-Paperless(รพ.สค.)เริ่ม1ตค2555=100%
IPD-Lesspaper1ตค2560ระบบDmsByNeoNetwork
IPD-Paperless1พ.ค2562ระบบHOSxPXE4
ServerMTOL8.5+MDB-10.4.20,SlaveOL8.5+MDB-10.7.3
LOG=PostgreSQL11,INV=PostgreSQL11