ผู้เขียน หัวข้อ: err. from thatpanom สั่งยาผู้ป่วยใน  (อ่าน 10074 ครั้ง)

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

ออฟไลน์ that panom

  • Full Member
  • ***
  • กระทู้: 128
  • Respect: 0
    • ดูรายละเอียด
err. from thatpanom สั่งยาผู้ป่วยใน
« เมื่อ: พฤศจิกายน 30, 2006, 01:52:32 AM »
0
รบกวนอ.mn ช่วยดูด้วยครับ
 

ออฟไลน์ manoi

  • Hero Member
  • *****
  • กระทู้: 8,669
  • Respect: +170
    • ดูรายละเอียด
    • HOSxP Community Center
Re: err. from thatpanom สั่งยาผู้ป่วยใน
« ตอบกลับ #1 เมื่อ: พฤศจิกายน 30, 2006, 05:57:57 AM »
0
ใช้คำสั่งนี้สร้าง Index ก่อนครับ

โค๊ด: SQL
  1. CREATE INDEX ix_an ON opitemrece (an)
  2.  

(ใช้เวลาค่อนข้างนานนะครับ)
HOSxP Project Manager / Cheif Developer / BMS MD

ออฟไลน์ that panom

  • Full Member
  • ***
  • กระทู้: 128
  • Respect: 0
    • ดูรายละเอียด
Re: err. from thatpanom สั่งยาผู้ป่วยใน
« ตอบกลับ #2 เมื่อ: พฤศจิกายน 30, 2006, 10:51:55 AM »
0
อ.mn ผมทำตามคำสั่งที่ให้ไปแล้วไม่ผ่าน มีฟ้อง ดังนี้
EurekaLog 5.1.11

Application:
-------------------------------------------------------
  1.1 Start Date      : Wed, 29 Nov 2006 19:48:08 +0700
  1.2 Name/Description: HOSMy.exe
  1.3 Version Number  : 2.49.11.27
  1.4 Parameters      :
  1.5 Compilation Date: Mon, 27 Nov 2006 18:48:47 +0700

Exception:
-----------------------------------------------------
  2.1 Date   : Wed, 29 Nov 2006 21:43:57 +0700
  2.2 Address: 0073EE4D
  2.3 Module : HOSMy.exe
  2.4 Type   : EZSQLException
  2.5 Message: SQL Error: Duplicate key name 'ix_an'.

Active Controls:
--------------------------------
  3.1 Form Class   : TMainForm
  3.2 Form Text    : :: HOSxP ::
  3.3 Control Class: TdxSpinEdit
  3.4 Control Text : 5

Computer:
-------------------------------------------------------
  4.1 Name          : SERVER1
  4.2 User          : admin
  4.3 Total Memory  : 1023 Mb
  4.4 Free Memory   : 538 Mb
  4.5 Total Disk    : 39.06 Gb
  4.6 Free Disk     : 8.85 Gb
  4.7 System Up Time: 7 hours, 16 minutes, 52 seconds
  4.8 Processor     : AMD Athlon(tm) 64 Processor 3000+
  4.9 Display Mode  : 1024 x 768, 32 bit

Operating System:
------------------------------------
  5.1 Type    : Microsoft Windows XP
  5.2 Build # : 2600
  5.3 Update  : Service Pack 2
  5.4 Language: Thai

Network:
---------------------------------------------------
  6.1 IP Address: 005.096.063.193 - 192.168.000.254
  6.2 Submask   : 255.000.000.000 - 255.255.255.000
  6.3 Gateway   : 000.000.000.000 - 192.168.000.001
  6.4 DNS 1     : 000.000.000.000 - 203.130.159.020
  6.5 DNS 2     : 000.000.000.000 - 203.130.159.021
  6.6 DHCP      : ON              - OFF           

Other Information:
----------------------------------------------------
  7.1 : Hospital Code = 11451 [รพร. ธาตุพนม]
        Database Type = MySQL
        Database Protocol = mysql-4.1
        Last 3 SQL Statement
        .
        No 1 = create index ix_an on opitemrece (an)
        .
        No 2 = show full processlist
        .
        No 3 = show status like 'Qcache_hits'
        .
        Server variable
จะให้แก้ไขอย่างไร
แล้ว lost index จะต้อง create เพิ่มทุกตัวหรือเปล่า โดยใช้คำสั่งแบบที่ให้มา
 

ออฟไลน์ manoi

  • Hero Member
  • *****
  • กระทู้: 8,669
  • Respect: +170
    • ดูรายละเอียด
    • HOSxP Community Center
Re: err. from thatpanom สั่งยาผู้ป่วยใน
« ตอบกลับ #3 เมื่อ: พฤศจิกายน 30, 2006, 11:20:37 AM »
0
ถ้าอย่างงั้นปัญหาอาจจะอยู่ที่ configuration ของเครื่อง server ครับ

ช่วยส่งแฟ้ม /etc/my.cnf ของเครื่อง server เข้ามาด้วยครับ
HOSxP Project Manager / Cheif Developer / BMS MD

ออฟไลน์ มดตานอย ครับ..

  • Hero Member
  • *****
  • กระทู้: 3,137
  • Respect: 0
    • ดูรายละเอียด
Re: err. from thatpanom สั่งยาผู้ป่วยใน
« ตอบกลับ #4 เมื่อ: พฤศจิกายน 30, 2006, 11:46:11 AM »
0
อ. ครับ ผม set  my.cnf      ตรงที่

- เปลี่ยนค่า innodb_data_file_path = ibdata1:100M:autoextend

-จาก 10 M   เป็น   100 M   จะเป็นอะไรกับ  databases ไหมครับ   .......ขอคุณครับ   

 

Nakhonphanom Hospital

MR.Tanoy999 ผู้ใช้งานทั่วไป
tanoy999-at-gmail-dot-com
เริ่ม  1 ตุลาคม 2549  โดย  BMS

ออฟไลน์ that panom

  • Full Member
  • ***
  • กระทู้: 128
  • Respect: 0
    • ดูรายละเอียด
Re: err. from thatpanom สั่งยาผู้ป่วยใน
« ตอบกลับ #5 เมื่อ: พฤศจิกายน 30, 2006, 11:48:00 AM »
0
ส่ง my.conf ให้ อ.mn ครับ
 

ออฟไลน์ manoi

  • Hero Member
  • *****
  • กระทู้: 8,669
  • Respect: +170
    • ดูรายละเอียด
    • HOSxP Community Center
Re: err. from thatpanom สั่งยาผู้ป่วยใน
« ตอบกลับ #6 เมื่อ: พฤศจิกายน 30, 2006, 18:59:32 PM »
0
ลองเอา config ตัวนี้ไปใช้ครับ

ของเดิมขาด innodb_file_per_table ก็เลยทำใ้ห้การใช้งาน ตาราง opitemrece ช้าครับ
HOSxP Project Manager / Cheif Developer / BMS MD

ออฟไลน์ that panom

  • Full Member
  • ***
  • กระทู้: 128
  • Respect: 0
    • ดูรายละเอียด
Re: err. from thatpanom สั่งยาผู้ป่วยใน
« ตอบกลับ #7 เมื่อ: พฤศจิกายน 30, 2006, 22:05:07 PM »
0
ให้ข้อมูล อ.mn เพิ่มเติมครับ  เครื่องประมวลผลคำสั่งนี้นานครับ  Exec time = 60,781

select i.rxdate,i.order_no,i.order_locked,i.order_type,i.entry_staff,i.rxtime  ,w.name as ward_name  ,count(o.icode) as item_count,  sum(o.sum_price) as amount  from ipt_order_no i  left outer join opitemrece o on o.an = i.an and o.order_no = i.order_no  left outer join ward w on w.ward = i.ward  where i.an='490007888'  group by  i.rxdate,i.order_no,i.order_locked,i.order_type,i.entry_staff,i.rxtime ,w.name  order by i.rxdate desc,i.rxtime desc

ตอนนี้ create index ที่ loss เสร็จแล้ว
แก้ my.cnf เรียบร้อยแล้ว
เปลี่ยน table doctor_order_print  เป็น  innodb
เรียบร้อยแล้วครับ
ได้ผลเป็นอย่างไรจะแจ้งให้ทราบครับ
ขอบคุณครับ
 

ออฟไลน์ that panom

  • Full Member
  • ***
  • กระทู้: 128
  • Respect: 0
    • ดูรายละเอียด
Re: err. from thatpanom สั่งยาผู้ป่วยใน
« ตอบกลับ #8 เมื่อ: พฤศจิกายน 30, 2006, 23:50:07 PM »
0
ยังไม่ดีขึ้นครับ แต่มีข้อมูลเรียนให้ อ.เพิ่มเติมครับ
สังเกตุการทำงานใน Process list ขณะเจ้าหน้าที่ ลงข้อมูลยาผู้ป่วยในขณะเรียกหน้าจอ medication proflle เครือ่งจะประมวลผลคำสั่ง (ที่แจ้งไว้) นาน ประมาณ 5 นาที (จากการจับเวลา) ซึ่งเจ้าหน้าที่รอไม่ไหว ก็ต้อง end task แต่การประมวลคำสั่งยังดำเนินต่อไป และเนื่องจากคนไข้ในมี 3 ตึกและมีการลงข้อมูลหน้าจอ medical profile ในเวลาใกล้เคียงกัน และเกดเหตุการณ์ เช่นเดียวกัน แต่ละคนก็end task เหมือนๆกัน ยิ่งทำให้ประมวลคำสั่ง ยิ่งเยอะและมากขึ้น ทำให้ระบบโดยรวมช้าลงมาก 

รบกวนอาจารย์มากจริงๆ ต้องขออภัย และขอขอบคุณครับ
 

ออฟไลน์ manoi

  • Hero Member
  • *****
  • กระทู้: 8,669
  • Respect: +170
    • ดูรายละเอียด
    • HOSxP Community Center
Re: err. from thatpanom สั่งยาผู้ป่วยใน
« ตอบกลับ #9 เมื่อ: ธันวาคม 01, 2006, 00:15:24 AM »
0
ลองใช้คำสั่งนี้ครับ

โค๊ด: SQL
  1. ALTER TABLE opitemrece TYPE = myisam
  2.  

แล้วดูว่าระบบดีขึ้นหรือไม่ครับ
HOSxP Project Manager / Cheif Developer / BMS MD

ออฟไลน์ that panom

  • Full Member
  • ***
  • กระทู้: 128
  • Respect: 0
    • ดูรายละเอียด
Re: err. from thatpanom สั่งยาผู้ป่วยใน
« ตอบกลับ #10 เมื่อ: ธันวาคม 01, 2006, 23:38:31 PM »
0
ได้ผลครับ ดีขึ้นทันตาเห็นเลยครับ ผมทดสอบในเครื่อง back up และจำลองสถานการณ์ เช่นเดียวกับสถานการณ์จริง เรียกใช้งาน medical profile พร้อมกันทั้ง 3 ตึก เลือกผู้ป่วยที่นอนนานมากกว่า 1 เดือน และมีค่าใช้จ่าย มากกว่า 20000 บาท หลังจากนั้น ทดสอบทุกคน ไม่ติดแม้แต่คนเดียว ขณะเดียวกันตรวจสอบการ Query คำสั่ง ใน process list ไม่มีการประมวลผลคำสั่งเหมือนกับที่เคยแจ้งไว้ และ command แสดงสถานะ sleep ในทุกเครื่องที่ เข้าใช้งาน medication profile   

ขอบคุณสำหรับความกรุณาครับ
 

ออฟไลน์ that panom

  • Full Member
  • ***
  • กระทู้: 128
  • Respect: 0
    • ดูรายละเอียด
Re: err. from thatpanom สั่งยาผู้ป่วยใน
« ตอบกลับ #11 เมื่อ: ธันวาคม 02, 2006, 06:43:10 AM »
0
ในเครื่อง server หลักไม่ดีขึ้นมาก มีข้อมูลเพิ่มเติมครับ หลังจากทดสอบเครื่องที่ใช้งานจริง บนserver หลัก คนไข้ทุกคน ใน 2 ตึก  โดยตึก 1 คนไข้ 25 คน มีอาการช้าเมื่อเปิดใช้หน้าจอ medicatios profile อยู่ 6 คน
ตึกที่ 2 มีคนไข้ 20 คน เป็นแบบเดียวกัน 2 คน รวมเป็น 8 คน เป็นที่น่าสังเกตุว่าทั้ง 8 คนมีสิ่งที่เหมือนกันคือ มีใบสั่งยาผู้ป่วยนอกด้วย(เป็นรูปหนังสือในประวัติการรับยา ) ถ้ามีมากยิ่งload ช้ามากขึ้น แต่คนที่เป็นปุ่มสีเขียวจะไม่ช้าครับ  ดังรูปครับ รบกวน อ.mn ช่วยอีกทีครับ
 

doramon

  • บุคคลทั่วไป
Re: err. from thatpanom สั่งยาผู้ป่วยใน
« ตอบกลับ #12 เมื่อ: ธันวาคม 02, 2006, 12:21:47 PM »
0
ผมแนะนำ drop  index ทั้งหมด 
แล้วสร้างใหม่ แต่จะใช้เวลานานๆๆๆๆ ครับ
 ;D
หรือไม่กลัวก็ backup ก่อนครับ

หรือ ทดสอบทำอีกเครื่องแล้วทดสอบดูก่อนก็ได้ครับ

ออฟไลน์ admin

  • Administrator
  • Jr. Member
  • *****
  • กระทู้: 68
  • Respect: +17
    • ดูรายละเอียด
    • HOSxP
Re: err. from thatpanom สั่งยาผู้ป่วยใน
« ตอบกลับ #13 เมื่อ: ธันวาคม 02, 2006, 20:49:30 PM »
0
ไม่จำเป็นต้อง drop index ครับ เนื่องจาก tool check lost index จะช่วยตรวจสอบให้แล้ว แต่อาจจะเกิดจาก performance ของ database ครับ ผมจะปรับปรุง query ที่ดึงข้อมูลมาแสดงผลสรุปใบสั่งยาใหม่ครับ น่าจะช่วยแก้ปัญหานี้ได้ครับ
(version หน้าครับ)

ลองพิจารณาเพิ่ม Ram Server เป็น 2GB  ด้วยนะครับ

และเปลี่ยน opitemrece มาเป็น innodb ด้วยนะครับ ด้วยคำสั่ง

โค๊ด: SQL
  1. ALTER TABLE opitemrece TYPE = innodb
  2.  
BMS Administrator

ออฟไลน์ that panom

  • Full Member
  • ***
  • กระทู้: 128
  • Respect: 0
    • ดูรายละเอียด
Re: err. from thatpanom สั่งยาผู้ป่วยใน
« ตอบกลับ #14 เมื่อ: ธันวาคม 03, 2006, 08:32:40 AM »
0
ขอบคุณ อ.mn อ.อ๊อด และคุณ admin (อ.mn?)   ครับ 
 

ออฟไลน์ manoi

  • Hero Member
  • *****
  • กระทู้: 8,669
  • Respect: +170
    • ดูรายละเอียด
    • HOSxP Community Center
Re: err. from thatpanom สั่งยาผู้ป่วยใน
« ตอบกลับ #15 เมื่อ: ธันวาคม 03, 2006, 20:34:33 PM »
0
2.49.12.2 ที่แก้ปัญหาความช้าของ IPD Profile ออกให้ download แล้วครับ
HOSxP Project Manager / Cheif Developer / BMS MD

ออฟไลน์ admin

  • Administrator
  • Jr. Member
  • *****
  • กระทู้: 68
  • Respect: +17
    • ดูรายละเอียด
    • HOSxP
Re: err. from thatpanom สั่งยาผู้ป่วยใน
« ตอบกลับ #16 เมื่อ: ธันวาคม 03, 2006, 22:13:05 PM »
0
จากการ remote เข้าไปตรวจสอบ config ระบบ ที่มีปัญหา ของ รพร. ธาตุพนม ได้แก่

<<mysql>>
1. ต้องมีบรรทัด innodb_file_per_table
2. ควรกำหนด key_buffer = 35% ของหน่วยความจำ
3. ควรกำหนด innodb_buffer_pool_size = 40% ของหน่วยความจำ
4. read_buffer_size ไม่ควรเกิน 2 Mb
5. ควรกำหนด default-character-set=tis620
6. ควรกำหนด query_cache_size = 15% ของหน่วยความจำ

<<apache>>
7. Process ของ apache (httpd) ไม่ต้องกำหนดให้ทำงานเยอะมากก็ได้ครับ ที่แฟ้ม /etc/httpd/conf/httpd.conf

<IfModule prefork.c>
StartServers       1
MinSpareServers    2
MaxSpareServers    2
ServerLimit      256
MaxClients       256
MaxRequestsPerChild  4000
</IfModule>


<IfModule worker.c>
StartServers         2
MaxClients         150
MinSpareThreads     25
MaxSpareThreads     75
ThreadsPerChild     25
MaxRequestsPerChild  0
</IfModule>

<<hosxp>>
8. ตารางที่ควรมี engine เป็น innodb ได้แก่ patient , ovst , opdscreen, ovstdiag , opitemrece , vn_stat , ipt , an_stat, rcpt_print , rcpt_print_detail

<<อื่นๆ>>
9. ควร upgrade mysql เป็น รุ่น 4.1.22


หลังจากที่ทำการแก้ไขแล้ว ระบบโดยรวมทำงานดีขึ้นมากครับ
« แก้ไขครั้งสุดท้าย: ธันวาคม 03, 2006, 22:19:25 PM โดย admin »
BMS Administrator