Archive for อื่นๆ ไม่เข้าพวก

สแปมบุก!!!!

ไม่ได้เขียนซะนาน ห่างหายไปเลย เจ้าของบล๊อกยังไม่ตายเน้อ T_T แต่ช่วงนี้งานอาจเยอะ และไม่รู้ว่าจะเขียนอะไรดี เลยไม่ค่อยจะมีเวลาซักเท่าใหร่นัก แต่ช่วงนี้กลับมาดูบล๊อกของผมนี่ SPAM ยาวเป็นหางว่าวเลย ต้องมานั่งคอยลบ โว๊ะ แถมมี update อีก

ยังไงซะ ก็สวัสดีผู้อ่านทุกท่านที่ยังติดตามนะคร๊าบ

กันลืมครับ

ช่วงนี้มีงานหลายอย่างเลย ทำเอาเหนื่อยได้นิดหน่อยเหมือนกัน แต่ก็น้อยกว่าสมัยก่อนเยอะครับ พักนี้หลายๆ อย่างก็ต้องมีเรื่องให้พักกันบ้าง หะหะ เอาหละ เข้าเรื่องวันนี้กันเลย ช่วงนี้มีกำหนดการที่สำคัญสำหรับผม 2 เรื่อง นั่นก็คืองาน Commart และงานสัปดาห์หนังสือแห่งชาติ

เรื่อง Commart 2012 ก็สามารถติดตามได้่ที่นี่เลยครับ
http://www.commartthailand.com/
จัดตั้งแต่ 22-25 มีนาคม 2555 ครับ

ส่วนงานสัปดาห์หนังสือแห่งชาตินั้น จัดที่เดียวกับคอมมาทครับ คือศูนย์การประชุมแห่งชาติสิริกิติ์ครับ
จัดตั้งแต่ 29 มีนาคม – 8 เมษายน 2555 ครับ

งาน Commart ก็คงไปเดินๆ ดูนั่นแหละ + ถ่ายรูปนิดหน่อย
ส่วนงานหนังสือ ต้องไปเอาหนังสือการ์ตูนเรื่อง จอมโจรอัจฉริยะ กับ โคนันที่ผมสั่งจองไว้ครับ

งานนี้ท่าจะกระเป๋าเบาไปหลายวันแน่ๆ

ชีวิตแต่ละคน มีจุดมุ่งหมายอย่างไร?

ถึงเวลากลับมาเขียนซักที (ปฏิบัติการ Black Hat คราวที่แล้ว นับว่าสำเร็จด้วยดี แต่ผลลัพธ์ก็ไม่เป็นที่น่าพอใจมากนัก) เอาเถอะ เข้าเรื่องวันนี้ดีกว่า วันวาเลนไทน์ปีนี้ ใกล้เข้ามาทุกทีแล้ว แต่ผมสิ ยังมองไม่เห็นใครเลย (ชีวิตเหมือนจะโสด แต่ก็ไม่ -*-) ไม่รู้มีเรื่องอะไรนักหนานะ แต่ก็เอาเถอะ ผมก็ได้แต่บ่นๆ ในบล๊อกส่วนตัว ขืนไปบ่นให้ใครบางคนฟัง มีหวังเขาได้ด่าเราแน่ๆ ฮะๆๆ (ผมไม่ได้เอ่ยชื่อนะ…)

เอาหละ ขอเล่าถึงชีวิตผม โดยรวมๆ ก่อนก็แล้วกันนะ
– เป็นเหมือนเด็กเรียนที่ไม่มีเพื่อน ไม่เคยแม้แต่จะขาดเรียน (เป็นหวัดยังมาเรียน)
– ไม่เคยจะหนีเที่ยวใหน ไม่เคยกลับบ้านดึก (ยกเว้นมีงาน ก็จะค้างเลย)
– ไม่สูบบุหรี่ แต่กินเหล้านานๆ ครั้ง
– etc… (นึกไม่ออก)

Read more

งงกันมั้ย?

งงกันมั้ย?
ผมเขียนโปรแกรมนึง ซึ่งทำงานแบบ Multi Threading

โดยทั้ง 2 Thread จะ while เพื่อนับรอบ Loop เป็นเวลา 5 วินาที
และนำรอบทั้งหมดมาหาร 5 (หารอบต่อวินาที)

ทดสอบบนเครื่อง CPU 1 Core (รัน 1 Thread)
ROPs: 132332990.8 Rps

ทดสอบบนเครื่อง CPU 1 Core (รัน 2 Thread)
Thread1 ROPs: 70476239.4 Rps
Thread2 ROPs: 72902260.6 Rps

ต่อไป มาทดสอบอีกเครื่องกันนะครับ (เครื่องนี้ค่อนข้างแรงกว่าเครื่องแรก)

ทดสอบบนเครื่อง CPU 4 Core (รัน 1 Thread)
ROPs: 192289914 Rps

ทดสอบบนเครื่อง CPU 4 Core (รัน 2 Thread)
Thread1 ROPs: 38434024.6 Rps
Thread2 ROPs: 38854396.6 Rps

ทดสอบบนเครื่อง CPU 4 Core (รัน 2 Thread + Affinity only CPU 0)
Thread1 ROPs: 83144022.2 Rps
Thread2 ROPs: 69798122.2 Rps

งงกันมั้ยครับ? ว่าทำไม 2 Thread แบบกระจายการประมวลผลไปทุก Core ถึงทำงานช้ากว่า แบบ 2 Thread แต่กระจุกอยู่แค่ Core เดียว??

ผมก็งงครับ

หมายเหตุ: Rps = Rop per second หรือ รอบต่อวินาที

โครงสร้างระบบใหม่ของ Trinity Client

ตอนนี้ก็นั่งวาง Roadmap คร่าวๆ ว่า Trinity Client จะออกแบบระบบ Server ยังไงดีให้ทำงานเสถียร และ เร็ว กินทรัพยากรณ์ระบบน้อยที่สุด เนื่องด้วยมีเซิฟเวอร์เป็นของตัวเองแล้ว ทำให้ทรัพยากรณ์ที่มีใช้นั้น ค่อนข้างที่จะจำกัด จึงพยายามใช้ความรู้ที่เรียนมานั้น มาใช้ให้เกิดประโยชน์สูงสุด ในการปรับปรุงระบบครั้งใหญ่ ที่ต้องรื้อ Agent Server ออกทั้งหมด เปลี่ยนใหม่เป็น Trinity Server นั้น มีอะไรบ้างมาดูกันครับ

1.ระบบแรก เป็นระบบ Database Storage ครับ เรื่องการจัดเก็บข้อมูล จะใช้ระบบ Relation เข้ามาช่วยเพิ่มประสิทธิภาพในการจัดเก็บข้อมูลของ User ด้วย เนื่องจากระบบ Agent Server ที่ผมเคยใช้แต่ก่อน และ lzc ใช้อยู่ปัจจุบันนั้น ยากต่อการพัฒนามาก ทำให้ระบบรวนอยู่บ่อยๆ จึงต้องนำจุดนี้มาปรับปรุงด้วย เพื่อง่ายต่อการพัฒนาระบบอื่นๆ เพิ่มเติมในอนาคต

2.ระบบจัดการฐานข้อมูล (Database Management) ที่ยังไม่ดีพอของ Agent Engine ซึ่งเมื่อระบบใหญ่ขึ้นทุกวัน มีผู้ใช้เยอะๆ แล้วจะทำให้เกิดปัญหา เซิฟเวอร์กินทรัพยากรณ์ระบบมากเกินความจำเป็น ซึ่งตรงจุดนี้จะเห็นปัญหาชัดเจนใน Server ของ LZC ซึ่งใช้ Agent Server ตัวเก่า ผมจึงนำจุดนี้มาวิเคราะห์ และปรับปรุงด้วย

3.ระบบโดยรวม ซึ่ง PHP Server นั้น ค่อนข้างกินทรัพยากรณ์เซิฟเวอร์กับระบบ Web Service มาก ตรงนี้ค่อนข้างปรับปรุงยาก เพราะคนเขียนเคยชินกับระบบ PHP Server ซะแล้ว แต่ก็จะพยายามโอนย้ายระบบมาที่ Server EXE ให้ได้ครับ (ลำบากพอสมควร T_T)

4.ยังคงย้อนกลับมาที่ระบบ Database เพราะตรงนี้เป็นเรื่องใหญ่ของ server ทางเรามาก เพราะมัีนทำให้ผมโดนเตะโด่งมาหลายที่แล้ว นั่นก็คือการทำ Index ซึ่งเพิ่งเรียนมาหมาดๆ และยังไม่ได้นำไปปฏิบัติจริง ซึ่งจะทดสอบกับระบบของ lzc เป็นที่แรก เพราะระบบเขาใหญ่ เหมาะต่อการทดสอบมาก แต่ก็ทำบนเครื่องทดสอบอ่านะ คงไม่ทำในเครื่องจริงๆ (ยังไงก็แล้วแต่สถานการด้วย) แต่คิดว่าตรงนี้จะช่วยได้มาก เพราะเท่าที่เรียนมา มันจะทำให้ระบบเร็วขึ้นมาก (แต่ผมหวังเล็กๆ ว่ามันจะช่วยลดการใช้ทรัพยากรณ์ระบบด้วย) แต่ก็นะ เมื่อระบบทำงานเร็วขึ้น การรับข้อมูลเข้ามาในคิว มันก็จะมีเยอะขึ้น สุดท้าย ก็ใช้ทรัพยากรณ์ระบบอย่างมหาศาลอยู่ดี แต่ว่า ครั้งนี้ ผมคิดว่าน่าจะเป็นการใช้ทรัพยากรณ์อย่างคุ้มค่ามากที่สุดครับ

ก็ น่าจะมีแค่นี้แหละมั้ง ระบบหลักๆ ที่ปรับปรุง ส่วนระบบย่อยๆ นั้นก็เดี๋ยวจะมาลองดูทีหลัง

ส่วน lzc ที่คิดว่าใช้ Agent Server จนยากต่อการอัพเกรดเป็น Trinity Server แล้ว ผมคิดว่าจะช่วยโดยการก๊อบ code บางส่วน และโครงสร้างบางส่วนที่ทำขึ้นมาใหม่ของ Trinity Server เข้าไปแก้ ซึ่งคิดว่าน่าจะช่วยได้มาก กรณีที่ไม่สามารถอัพเกรดเป็น Trinity Server ได้ แถมเซิฟเวอร์แบบนี้ ก็ยังไม่สมบูรณ์อีก ตายละ T^T อีกกี่ชาติละเนี่ย ยิ่งความรู้เรื่องระบบ database เท่าหางอึ่งแบบนี้ด้วย – –