หากคุณกำลังเรียกใช้งาน OS X Server (Mavericks) โปรดดูส่วน "กำหนดค่าการตั้งค่าแคชขั้นสูง" ของ คู่มือการจัดการขั้นสูง OS X Server เพื่อเรียนรู้เกี่ยวกับการตั้งค่าขั้นสูงของบริการแคช
สำหรับข้อมูลเพิ่มเติมเกี่ยวกับบริการแคช ให้เรียกใช้งานแอปเซิร์ฟเวอร์และเลือก วิธีใช้เซิร์ฟเวอร์ จากเมนู วิธีใช้

คุณสามารถระบุการตั้งค่าการกำหนดค่าขั้นสูงสำหรับบริการแคชด้วยบรรทัดคำสั่งหรือด้วยการแก้ไข /Library/Server/Caching/Config/Config.plist คีย์ค่าต่างๆ และคำอธิบาย จะมีให้ที่ด้านล่างนี้
หมายเหตุ: ไม่ควรเปลี่ยนการตั้งค่าในไฟล์ Config.plist ที่ไม่ได้สรุปไว้ด้านล่างนี้
คีย์ | 
ค่าเริ่มต้น | 
คำอธิบาย | 

---|---|---|
CacheLimit | 
0 (ไม่จำกัด) | 
จำนวนไบต์สูงสุดของพื้นที่ว่างบนดิสก์จะถูกใช้เพื่อแคชแอสเซท ซึ่งสามารถตั้งค่าได้โดยใช้แอปเซิร์ฟเวอร์ | 

DataPath | 
/Library/Server/Caching/Data | 
เส้นทางไปไดเร็กทอรีที่ใช้เพื่อจัดเก็บแอสเซทที่แคชไว้ ซึ่งสามารถตั้งค่าได้โดยใช้แอปเซิร์ฟเวอร์ | 

Interface | 
ฟังอินเทอร์เฟซทั้งหมด | 
ชื่อ BSD ของอินเทอร์เฟซเครือข่ายที่ใช้โดยบริการแคช | 

ListenRanges | 
ไม่มี | 
อาร์เรย์ของพจนานุกรมที่ใช้เพื่อกำหนดว่าต้องการใช้ลูกข่ายเซิร์ฟเวอร์การแคชใดบนเครือข่ายที่กำหนด รายละเอียดเพิ่มเติมจะได้รับการสรุปไว้ที่ ด้านล่าง | 

ListenRangesOnly | 
เท็จ | 
หากตั้งค่า ListenRangesOnly ไปที่จริง จะทำให้เซิร์ฟเวอร์ให้แอสเซทเฉพาะกับลูกข่ายในช่วงที่ระบุไว้โดยคีย์ ListenRanges เท่านั้น คุณต้องระบุคีย์ ListenRanges เพื่อให้ใช้คีย์ ListenRangesOnly | 

LogLevel | 
ข้อมูล | 
ระดับการแสดงรายละเอียดที่ใช้เมื่อทำการบันทึก คุณสามารถตั้งค่านี้ไปยังข้อใดข้อหนึ่งต่อไปนี้:

| 

MaxConcurrentClients | 
0 (อนุญาตให้ใช้ลูกข่ายได้ไม่จำกัด) | 
จำนวนสูงสุดที่อนุญาตของคำขอลูกข่ายพร้อมกัน | 

พอร์ต | 
0 (ใช้พอร์ตใดก็ได้) | 
จำนวนพอร์ต TCP ที่บริการแคชยอมรับคำขอสำหรับการดาวน์โหลด | 

ReservedVolumeSpace | 
25000000000 | 
จำนวนไบต์ต่ำสุดของพื้นที่ว่างบนดิสก์ที่สามารถใช้ได้ที่ต้องคงไว้ซึ่งระดับที่จัดเก็บแอสเซทที่แคชไว้ | 

คีย์ ListenRanges
คีย์ ListenRanges สามารถใช้เพื่อระบุบริการแคชที่ต้องการในโทโพโลยีเครือข่ายขั้นสูงที่บริการแคชมากกว่าหนึ่งบริการใช้อยู่ข้างหลังที่อยู่ IP สาธารณะเดียวกัน ตัวอย่างเช่น:
- 

- caching1.example.com จะใช้คีย์ ListenRanges เพื่อระบุช่วง 10.0.0.1 ถึง 10.0.0.254 และ 10.1.0.1 ถึง 10.1.0.254 

- caching2.example.com จะใช้คีย์ ListenRanges เพื่อระบุช่วง 10.1.0.1 ถึง 10.1.0.39 (จดส่วนที่ทับซ้อนกันด้วยช่วงที่สองของ caching1) 

- หากลูกข่ายที่มีที่อยู่ IP เป็น 10.0.0.10 ขอแอสเซท ลูกข่ายจะถูกนำไปที่ caching1 

- หากลูกข่ายที่มีที่อยู่ IP เป็น 10.1.0.10 ขอแอสเซท ลูกข่ายจะถูกนำไปที่ caching1 หรือ caching2 โดยเซิร์ฟเวอร์จะถูกสุ่มเลือก 

- หากลูกข่ายที่มีที่อยู่ IP เป็น 10.2.0.10 ขอแอสเซท ลูกข่ายจะถูกนำไปที่ caching1 หรือ caching2 โดยเซิร์ฟเวอร์จะถูกสุ่มเลือก 

- หาก caching1 ปิดเครื่องหรือไฟดับ caching2 จะยังคงใช้ได้อยู่ ลูกข่ายทั้งหมดจะถูกนำไปที่ caching2 

การตั้งค่าสำหรับคีย์
วิธีตั้งค่าคีย์ด้วยค่าง่ายๆ คุณสามารถใช้คำสั่ง serveradmin ตัวอย่างเช่น เพื่อตั้งค่าคีย์อินเทอร์เฟซเป็น en1 ให้คุณใช้คำสั่งนี้ในฐานะผู้ดูแลระบบ:

sudo serveradmin settings caching:Interface = en1

คีย์ ListenRanges มีค่าที่ซับซ้อน การทำให้ง่ายยิ่งขึ้นต่อการแก้ไข /Library/Server/Caching/Config/Config.plist จะสามารถตั้งค่าคีย์นี้ได้ หากคุณแก้ไขไฟล์นี้ด้วยตนเอง อย่าลืมหยุดบริการแคชและออกจากแอปเซิร์ฟเวอร์ก่อนเป็นอันดับแรก เมื่อคุณแก้ไขไฟล์นี้เสร็จเรียบร้อยแล้ว ให้ตั้งค่าความเป็นเจ้าของผู้ใช้และกลุ่มไปที่ _assetcache ก่อนจะเริ่มใช้บริการแคชด้วยคำสั่งนี้:

sudo chown _assetcache:_assetcache /Library/Server/Caching/Config/Config.plist

ด้านล่างนี้คือตัวอย่างไฟล์ Config.plist

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
 <dict>
 <key>CacheLimit</key>
 <!-- Set a CacheLimit of 200 GB -->
 <integer>200000000000</integer>
 <key>DataPath</key>
 <string>/Volumes/BigDisk/Caching/Data</string>
 <key>Interface</key>
 <string>en1</string>
 <key>ListenRanges</key>
 <array>
 <dict>
 <key>type</key>
 <string>IPv4</string>
 <key>first</key>
 <string>10.0.0.1</string>
 <key>last</key>
 <string>10.0.0.254</string>
 </dict>
 <dict>
 <key>type</key>
 <string>IPv4</string>
 <key>first</key>
 <string>10.1.0.1</string>
 <key>last</key>
 <string>10.1.0.254</string>
 </dict>
 </array>
 <key>ListenRangesOnly</key>
 <true/>
 <key>LogLevel</key>
 <string>info</string>
 <key>MaxConcurrentClients</key>
 <integer>100</integer>
 <key>Port</key>
 <integer>12345</integer>
 <key>ReservedVolumeSpace</key>
 <!-- Set the ReservedVolumeSpace to 1 GB -->
 <integer>1000000000</integer>
 </dict>
</plist>