"ฉันเป็นเพียงคนธรรมดาที่มีความสามารถต่ำกว่าคนทั่วๆไป ฉันไม่สงสัยเลยว่า คนทุกคนไม่ว่าชายหรือหญิงสามารถบรรลุเป้าหมายเช่นเดียวกับฉัน ถ้าเขาหรือเธอใช้ความพยายาม และปลูกฝังความศรัทธา เช่นเดียวกับฉัน" มหาตมะ คานธี

วันอังคารที่ 13 พฤศจิกายน พ.ศ. 2555

Client Cache คืออะไร




โปรแกรม Diskless สมัยใหม่ มักมี Option หนึ่งมาให้เราได้ใช้กันอยู่บ่อยๆ นั่นคือ Client Cache ซึ่งทำเอาหลายคนงงไปตามๆกันว่า เจ้า Client Cache นี้มันคืออะไร มีไว้ทำไม และต้องตั้งค่าเท่าไหร่


Client Cache คืออะไร

ขอกล่าวถึงระบบ Diskless ซักหน่อยว่า เมื่อเครื่องลูก (Client) ในระบบ Diskless ต้องการเขียนข้อมูลต่างๆลงเครื่องนั้น จะไปเขียนในพื้นที่ที่เรากำหนดให้บน Server Diskless ซึ่งบางท่านอาจเรียกว่า Swap, Wks Dir, Cow ก็สุดแท้แต่จะเรียก แต่พื้นที่เหล่านี้คือพื้นที่บน SSD, Harddisk ซึ่งมีความเร็วน้อยกว่า RAM ผู้พัฒนาโปรแกรมจึงได้คิดวิธีการนำเอา RAM ของเครื่องลูก มาเป็นที่เขียนข้อมูลอันดับแรก ก่อนจะส่งไปเก็บบนพื้นที่ Server Dsikless โดยตั้งชื่อว่า Client Cache

Client Cache เร็วแค่ไหน

เปรียบเทียบความเร็วโดยประมาณ

Harddisk 7200 RPM = 100 MB/s, Access Time = 15 ms
SSD SATA III = 400 MB/s, Access Time = 0.1 ms
RAM = 2000 MB/s, Access Time= 0 ms

ประโยชน์ของ Client Cache

Client Cache ไม่ได้มีไว้เพื่อความเร็วในการอ่านข้อมูล จึงไม่ช่วยในเรื่องความเร็วของการบูต การเข้าโปรแกรม เข้าเกมส์ต่างๆ แต่หากช่วยลดภาระในการเขียนข้อมูลลง Server Diskless ทำให้การใช้งานระบบ Diskless มีความไหลลื่น ไม่กระตุก และเมื่อลดภาระของพื้นที่เขียนข้อมูล จึงทำให้สามารถรองรับจำนวนเครื่องลูกได้มากกว่าการไม่เปิดใช้ Client Cache ในระบบเดียวกัน อีกประโยชน์คือ ยืดอายุของ SSD จากข้อจำกัดเรื่อง Write Cycle

ต้องตั้งค่าเท่าไหร่

การตั้งค่า Client Cache ถือเป็นศาสตร์และศิลป์ เพราะมากไปก็ไม่ดี เกิด Bluescreen ได้ง่าย น้อยไปก็ไม่เห็นผล มันไม่มีสูตรอะไรตายตัว ขึ้นอยู่กับสเปคเครื่อง และพฤติกรรมของผู้ใช้งานเครื่องลูกเป็นหลัก

ตัวอย่างที่ 1

ร้านหนึ่งมี RAM 2 GB ใช้สูตร RAM/4 ตั้งค่า Client Cache 512 MB ใช้งานได้ แต่อีกร้านเครื่องรุ่นเก่ามี RAM 1 GB ใช้สูตร RAM/4 ตั้งค่า Client Cache 256 MB อันนี้มีปัญหาแน่นอน เพราะ RAM ที่ระบบจอง + Client Cache ก็ใช้ RAM ไปครึ่งหนึ่งของทั้งหมดแล้ว RAM จึงไม่พอใช้กับโปรแกรม หรือเกมส์อื่นๆในเครื่อง ทำให้เกิดปัญหากระตุก ออกเกมส์ช้า

ตัวอย่างที่ 2

2 ร้านมีสเปคเดียวกัน ตั้งค่า Client Cache 512 MB เท่ากัน แต่มีปัญหาเพียงร้านเดียว เพราะผู้ใช้งานร้านนั้นนิยมเปิดหน้าเว็บหลายหน้าพร้อมกัน ทั้งยังเล่นเกมส์ที่ใช้ RAM เยอะ หรือนิยมเปิดเกมส์หลายหน้าจอ ทำให้ RAM ไม่พอใช้งาน

จะเห็นได้ว่าไม่มีสูตรไหนตายตัว เราจึงต้องคอยตรวจสอบดูว่า Client Cache ที่เราตั้งไว้เหมาะสมกับร้านเราหรือยัง หากร้านเราเป็นลูกค้านิยมเกมส์ที่ไม่ใช้ RAM เยอะ และเล่นที่ละ 1 หน้าจอ ก็ตั้งไว้มากหน่อย หากเป็นลูกค้าที่นิยมเปิดโปรแกรมหลายอย่าง เล่นเกมส์พร้อมกันหลายเกมส์ หลายหน้าต่าง ก็ต้องจัดหา RAM ให้เพียงพอ และตั้ง Client Cache ให้เหมาะสม

แต่หากจบบทความแค่ตรงนี้ อาจโดนตำหนิได้ว่า อ่านแล้วก็ไม่รู้อยู่ดีว่าต้องตั้งเท่าไหร่ ผมเลยขอแชร์การตั้งค่า Client Cache ของผมเลยแล้วกัน เวลาที่ผมวางระบบครั้งใดผมจะใช้การตั้งค่า Client Cache แบบนี้ก่อน แล้วค่อยปรับให้เหมาะสมกับพฤติกรรมผู้ใช้งานต่อไป

ตัวอย่างการตั้งค่า Client Cache

Client RAM 512 MB, 1 GB ตั้งค่า Client Cache = 16 MB
Client RAM 1.5 GB, 1.75 GB ตั้งค่า Client Cache = 128 MB
Client RAM 2 GB ตั้งค่า Client Cache = 256 MB
Client RAM 3 GB ตั้งค่า Client Cache = 512 MB

การตั้งค่า Client Cache นี้เกิดมาจากประสบการณ์ของผมเอง คงไม่สามารถบอกให้ทุกท่านเอาไปใช้แล้วจะดีที่สุด แต่อยากให่ท่านนำไปเป็นตัวอย่างและปรับปรุงให้เหมาะสมกับร้านเน็ต หรือระบบของท่าน จะเกิดประโชน์สูงสุดมากกว่าครับ

ไม่มีความคิดเห็น:

แสดงความคิดเห็น