May 19, 2012, 06:28:02 PM

Author Topic: TIP Today : 04 การปรับแต่งระบบ Cache ของ AAS V2.3  (Read 2304 times)

0 Members and 1 Guest are viewing this topic.

Offline admin

  • Administrator
  • Hero Member
  • *****
  • Posts: 2546
  • ความคิดเห็น +12/-0
  • Make me feel Alive
    • View Profile
    • Sale Script Solution
TIP Today : 04 การปรับแต่งระบบ Cache ของ AAS V2.3



คำเตือน : ไม่เหมาะกับมือใหม่ และไม่รู้ว่ากำลังแก้ปัญหาอะไร ทำอะไร แต่ถ้าอยากเก่ง Level+ ก็เชิญได้ทุกท่าน



วันนี้ จะมานำเสนอ การปรับแต่งไฟล์ที่ชื่อว่า cachestart.php  ที่อยู่ในโฟลเดอร์  /system  ของทุกท่าน
ซึ่งไฟล์ที่ทุกท่านได้ไป จะถูกเข้ารหัส

ทั้งนี้ก็เพื่อความปลอดภัย กันคนมือซนไปปรับจนมันเจ๊ง  ไม่ได้หวงครับ  แต่ห่วงเฉย ๆ


ก่อนอื่นผมขออธิบาย ว่าระบบ Cache ที่ผมใช้นั้น ทำงานยังไงก่อนนะครับ

ระบบ Cache ที่ AAS V2.3 ใช้นั้น  คือโมดูลเสริมของ PHP ที่เรียกว่า Cache Lite ซึ่งเป็นเวอร์ชั่น 1.7.8 ที่เป็นตัวล่าสุด
สามารถหาอ่านข้อมูลเบื้องลึกของระบบ cache ที่ว่านี้ได้ ที่นี่ครับ http://pear.php.net/package/Cache_Lite/


ทีนี้มาดูกันต่อครับ
ระบบ cache นี้ผมได้ตั้งค่าเบื้องต้นที่เป็นค่าปลอดภัยให้กับทุกท่านแล้ว แต่อาจจะมีบางท่านที่มีการใช้งานแบบหนักหน่วง
ระบบ cache เลยรองรับได้ไม่เต็มเม็ดเต็มหน่วย

โดยค่ามาตราฐานที่ผมตั้งให้กับทุกท่านคือ
1.เก็บข้อมูล cache ไว้ 2 ชม.
2.สุ่มลบ cache ที่เก่าเกิน 2 ชม. ทุก ๆ การเรียกใช้ระบบ 200 ครั้ง (หมายถึง เวลาเรียกใช้ cache มันจะสุ่มเคลียร์ cahce เก่า 1 ครั้ง ใน 200 ครั้ง)
3.เก็บไฟล์ cache ในโฟลเดอร์ /tmp
4.ระบบจัดการไฟล์ cahce แบบ Single Level (หมายถึง เก็บไฟล์ cahce ลงในโฟลเดอร์ ชั้นเดียว ซึ่งจะทำให้การเรียกใช้ไฟล์เร็วที่สุด)

และนี่ คือ ไฟล์  cachestart.php  ที่ไม่ได้เข้ารหัส  ท่านที่สนใจสามารถ Download ไปใช้งานปรับแต่งกันได้เลยครับ
เนื้อหาของไฟล์มีสั้น ๆ ดังนี้


Code: [Select]
<?php
/**********************************
 * PHP CACHE LITE : 1.7.8         *
 **********************************/

$cacheoptions = array(  
                                    
'cacheDir'                  => './tmp/',
                                    
'caching'                   => true,
                                    
'lifeTime'                  => 7200,
                                    
'automaticCleaningFactor'   => 200,
                                    
'automaticSerialization'    => true,
                                    
'hashedDirectoryLevel'      => 0,
                             );

$cache_function = new Cache_Lite_Function($cacheoptions);
$cache_data     = new Cache_Lite($cacheoptions);

?>



อธิบายละเอียด

'cacheDir'                  => './tmp/',
อันนี้คือบอกว่าเราจะเก็บไฟล์ cache ไว้ที่โฟลเดอร์  /tmp  ครับ  เราสามารถเปลี่ยน  tmp  เป็นคำอื่น ๆได้ครับ ตามสะดวก


'caching'                   => true,
นี่คือตัวที่เอาไว้ ปิด-เปิด ระบบ cache  ถ้าท่านต้องการปิด ไม่ใช้มันก็เปลี่ยน  true  เป็น  false  ได้ครับผม


'lifeTime'                  => 7200,
นี่คือค่าที่ระบุอายุของไฟล์ cahce มีหน่วยเป็นวินาที  ในที่นี่ 7200 วินาที = 2 ชม.
ถ้าต้องการ cache ไฟล์นานขึ้น ให้เพิ่มค่านี้ได้ครับ 
3600 = 1 ชม.
7200 = 2 ชม.
10800 = 3 ชม.
14400 = 4 ชม.
ไปเรื่อยล่ะครับ
คำเตือน....!!!!  การเพิ่มอายุของไฟล์ cache จะทำให้ ไฟล์ที่แคชไว้ เพิ่มมากขึ้น ท่านอาจโดนโฮสท์เตะได้ โปรดรับทราบความเสี่ยงกันเอาเองนะครับ


'automaticCleaningFactor'   => 200,
อันนี้คือค่าสุ่มให้ลบ cache ที่หมดอายุ ค่าที่ผมตั้งไว้คือ 200 หมายความว่า มีโอกาส 1 ใน 200 ครั้งที่ cache หมดอายุจะถูกลบโดยอัตโนมัติ
เป็นค่าที่เหมาะสมครับ  แต่ลองเพิ่มได้ ลดได้  แต่เราก็ไม่ค่อยเห็นความต่างหรอกครับ  มันทำงานเบื้องหลัง  สำหรับเว็บที่มีคนเข้าเยอะ ๆ
โหลดหนัก ๆ ลองตั้งไว้ 400 ก็น่าพอใจครับ


'automaticSerialization'    => true,
อันนี้เป็นเรื่องของเทคนิค ขอผ่านไม่อธิบายครับ


'hashedDirectoryLevel'      => 0,
อันนี้คือ ตัวที่กำหนดว่าในโฟลเดอร์ ที่เก็บไฟล์ cache ของเรา จะให้มี โฟลเดอร์ซ้อน ๆ ลงไปกี่ชั้น
ค่า 0 คือ ไม่มี เหมาะกับเว็บที่คนเข้าออกไม่มาก เก็บไฟล์ไว้ชั้นเดียว เรียกใช้งานเร็วที่สุด ไฟล์ cache หลัก 4-5000 ไฟล์ ก็โอเคอยู่
ค่า 1 คือ จะมี โฟลเดอร์ย่อยซ้อนลงไป 1 ชั้น การเรียกใช้งานช้าลงเล็กน้อย แลกกับความเสถียรที่เพิ่มขึ้น กรณีคนเข้าเยอะขึ้น
ค่า 2 คือ จะมี โฟลเดอร์ย่อยซ้อนลงไป 2 ชั้น เริ่มซับซ้อน และช้าลงอีกนิด แต่เสถียรมาก เหมาะกัวเว็บที่มีไฟล์ cache หลัก หลายหมื่นไฟล์
ค่า 3 คือ จะมี โฟลเดอร์ย่อยซ้อนลงไป 3 ชั้น ซับซ้อนมาก ช้าลงอีก เหมาะกับเว็บ ที่เก็บ cache มากกว่า 24 ชม. และ Traffic สูงมาก ๆ
ค่า 4++ ถ้าไม่ใช่โฮสท์แรงจริง ๆ อย่าลอง สำหรับเทพเทวดาเท่านั้น

ปล.ของผมใช้แค่ 2 ก็หรูสุด ๆ แล้ว


เมื่อตั้งค่าไฟล์ cachestart.php ใหม่  ให้ลบไฟล์ cache เก่าก่อนทุกครั้ง  และ อย่าลบผ่าน FTP  ให้ลบผ่าน  cpanel เลยมันจะเร็วกว่า
โดยลบโฟลเดอร์ทิ้งเลยแล้วสร้างใหม่ คิดดู ถ้าท่านมีไฟล์ cache อยู 8 พันไฟล์   ใช้ FTP  มันจะลบทีล่ะไฟล์  รอกันนานเลยครับ

คำเตือนอีก :  อ่านให้เข้าใจก่อนลงมือปฏิบัติ และรับความเสี่ยงเอาเองนะครับ

Offline ping-cp30

  • Official Partner
  • Sr. Member
  • *
  • Posts: 269
  • ความคิดเห็น +2/-0
  • อยากได้เท่านี้บ้างอ่ะ
    • View Profile
แทงยู หลายๆ
ต้องลองเทสดูก่อน :D

Offline Nicethai

  • Official Partner
  • Hero Member
  • *
  • Posts: 804
  • ความคิดเห็น +18/-0
    • View Profile
ได้ความรู้เพิ่มอีกแล้ว...ขอบคุณมากครับ  O0

แก้ไขเพิ่มเติม : จำนวนไฟล์ใน cache...เราจะรู้ได้ยังไงว่ามีกี่ไฟล์ครับ (เพราะมันเยอะมาก)???
« Last Edit: November 03, 2010, 03:10:11 PM by Nicethai »

Offline Nicethai

  • Official Partner
  • Hero Member
  • *
  • Posts: 804
  • ความคิดเห็น +18/-0
    • View Profile
ได้ความรู้เพิ่มอีกแล้ว...ขอบคุณมากครับ  O0

แก้ไขเพิ่มเติม : จำนวนไฟล์ใน cache...เราจะรู้ได้ยังไงว่ามีกี่ไฟล์ครับ (เพราะมันเยอะมาก)???

หรือต้อง Download Folder Temp กลับมาที่เครื่อง...แล้วค่อยเช็ค Properties ถึงจะรู้จำนวนไฟล์ครับ  ???

Offline admin

  • Administrator
  • Hero Member
  • *****
  • Posts: 2546
  • ความคิดเห็น +12/-0
  • Make me feel Alive
    • View Profile
    • Sale Script Solution
ดูใน FTP เอาก็ได้ครับ


หรือดูใน File Manager  ผ่านหน้า cpanel เลยก็ได้ครับ

Offline Nicethai

  • Official Partner
  • Hero Member
  • *
  • Posts: 804
  • ความคิดเห็น +18/-0
    • View Profile
ดูใน FTP เอาก็ได้ครับ


หรือดูใน File Manager  ผ่านหน้า cpanel เลยก็ได้ครับ

ขอโทษทีครับ...ลืมไปว่าใน FTP ก็มี Properties
ขอบคุณมากครับ  O0

Offline anhkiet

  • Dark and Secret
  • Jr. Member
  • *
  • Posts: 89
  • ความคิดเห็น +0/-0
    • View Profile
จะนำไปปรับใช้ดู ขอบคุณมากครับ

Offline RYU

  • Dark and Secret
  • Full Member
  • *
  • Posts: 223
  • ความคิดเห็น +0/-0
  • Hello My friends.
    • View Profile
    • Find great gift for everyone on your list.
ของผมคงไม่ต้องปรับแต่งอะไร :-[ เพราะในแต่ละวันมีคนคลิ๊กไม่ถึง 10 ครั้ง ^-^

Offline pichitv22010

  • Dark and Secret
  • Full Member
  • *
  • Posts: 181
  • ความคิดเห็น +1/-0
    • View Profile
สิ่งที่น่าจะปรับได้ ก็น่าจะมี
lifeTime กับ hashedDirectoryLevel   ???

แต่ต้องรอให้มีคนเข้าซะก่อน   ::)
ตอนนี้ก็ค่อยๆ โต

ขอบคุณสำหรับ Tip ดีๆ ครับ 
 :)   ^-^ 

Offline soonthron

  • Jr. Member
  • **
  • Posts: 51
  • ความคิดเห็น +0/-0
  • เงินจงมา
    • View Profile
    • Phuket Hotels
รับไว้เป็นความรู้....ต้องพัฒนาต่อไปครับ....และเว็บผมก็ index น้อยด้วย 35 page gg

Offline namasjung

  • Newbie
  • *
  • Posts: 48
  • ความคิดเห็น +0/-0
    • View Profile
    • buy saxophone
คำถามครับ cache น้อยจะทำให้ host ทำงานเบาลงใช่มั้ยครับ

แล้ว จำนวน cache มีผลอะไร ต่อการรันเว็บบ้างครับผม

Offline admin

  • Administrator
  • Hero Member
  • *****
  • Posts: 2546
  • ความคิดเห็น +12/-0
  • Make me feel Alive
    • View Profile
    • Sale Script Solution
จำนวน cache น้อย ทำให้โฮสท์ ทำงานหนักขึ้นครับ


Cache มาก โฮสท์ก็ทำงานน้อยลง เพียงแค่อ่านไฟล์อย่างเดียว  ไม่ต้องคำนวณอะไรอีก

Offline zengz

  • Newbie
  • *
  • Posts: 15
  • ความคิดเห็น +0/-0
    • View Profile
ผมเพิ่ม lifetime เป็น 10800 แต่ทำไม disc space มันลดลงหว่า มันน่าจะเยอะขึ้นไม่ใช่เหรอครับ เพราะเราเก็บ cache ไว้นานขึ้น  ???

Offline admin

  • Administrator
  • Hero Member
  • *****
  • Posts: 2546
  • ความคิดเห็น +12/-0
  • Make me feel Alive
    • View Profile
    • Sale Script Solution
หมายถึง space usage หรือ  free space ล่ะครับ


ถ้า free space ลดลง ก็ไม่แปลกครับ

Offline zengz

  • Newbie
  • *
  • Posts: 15
  • ความคิดเห็น +0/-0
    • View Profile
หมายถึง space usage ครับ

แต่ตอนนี้พอจะรู้สาเหตุบ้างละ

เวปร่วงไปแล้วครับ -*-

หลังจากตั้งแต่ลงสคริป อัดวิลครั้งแรก แล้วก็ไม่ได้โปรโมทอีกเลย มันก็ขายได้ตลอด ผ่านมาเกือบเดือน ครื้มอกครื้มใจกลัวเวปตก เพราะไม่ได้ไปแตะต้องเลย เลยอัดลิ้งไปให้ เวปหายเลย 555+

เดี๋ยวนี้ เวปไหนทำเงินนี่ แทบไม่กล้าแตะเลย 555+

Offline admin

  • Administrator
  • Hero Member
  • *****
  • Posts: 2546
  • ความคิดเห็น +12/-0
  • Make me feel Alive
    • View Profile
    • Sale Script Solution
อาศัย ช่วงที่เว็บร่วง ทำเว็บใหม่ ซะครับ

ให้มันหมุนเวียนกันไป จากประสบการณ์ผม ทำเดือนละ 3 เว็บ ไปเรื่อย ๆ


ไอ้ที่ร่วง ๆ มันจะมีจังหวะ ขึ้นมาใหม่ครับ ฉะนั้น อย่าหยุดทำ

Offline Nicethai

  • Official Partner
  • Hero Member
  • *
  • Posts: 804
  • ความคิดเห็น +18/-0
    • View Profile
หลังจากทดสอบการปรับแต่งระบบ Cache อยู่หลายแบบ
ทั้งเพิ่ม - ลดเวลา ; ทั้งเพิ่ม - ลด Level
ปัญหา error log หรือ core.xxxxx ไม่มารบกวนอีกเลยครับ
แต่การปรับแต่งระบบ Cache ทุกแบบ...ต้องดูความเหมาะสมของแต่ละโฮสท์ด้วยครับ
เพื่อนๆท่านใดมีปัญหา error log หรือ core.xxxxx ลองปรับแต่งดูนะครับ...ได้ผลจริงครับ O0

Offline golf_duncan

  • Newbie
  • *
  • Posts: 12
  • ความคิดเห็น +0/-0
    • View Profile
อาศัย ช่วงที่เว็บร่วง ทำเว็บใหม่ ซะครับ

ให้มันหมุนเวียนกันไป จากประสบการณ์ผม ทำเดือนละ 3 เว็บ ไปเรื่อย ๆ


ไอ้ที่ร่วง ๆ มันจะมีจังหวะ ขึ้นมาใหม่ครับ ฉะนั้น อย่าหยุดทำ


แล้วถ้าเว็บโดน deindex อะครับ ต้องทำต่อมั้ยครับ หรือเปลี่ยนเว็บเลยดีกว่าครับ