Mengonfigurasi pengaturan cache konten lanjutan di Mac
Anda dapat menggunakan parameter konfigurasi lanjutan untuk mengatur cache konten untuk konfigurasi jaringan Anda.
Anda mengatur parameter konfigurasi lanjutan untuk cache konten baik menggunakan baris perintah di Terminal atau memodifikasi nilai kunci di /Perpustakaan/Preferensi/file com.apple.AssetCache.plist. Agar beberapa perubahan dapat diterapkan, cache konten harus dihentikan dan dimulai ulang.
Menggunakan Terminal untuk mengatur parameter konfigurasi lanjutan
Di app Terminal di Mac Anda, Anda dapat mengatur parameter konfigurasi lanjutan menggunakan perintah defaults
, diikuti oleh perintah sudo AssetCacheManagerUtil reloadSettings
. Gunakan perintah AssetCacheManagerUtil settings
untuk melihat pengaturan standar (bukan lanjutan).
Untuk informasi lainnya mengenai perintah AssetCacheManagerUtil
, lihat Mengelola cache konten dari baris perintah dan halaman man AssetCacheManagerUtil(8).
Anda dapat mengatur kunci sederhana atau rumit dengan perintah defaults
.
Misalnya, untuk mengatur kunci Interface
ke en1, jalankan perintah ini sebagai administrator:
$ sudo -u _assetcache defaults write /Library/Preferences/com.apple.AssetCache.plist Interface -string en1
ListenRanges
adalah kunci rumit yang mengambil larik kamus. Misalnya, jalankan perintah ini sebagai administrator untuk mengatur dua jangkauan alamat IP untuk kunci ListenRanges:
$ sudo -u _assetcache defaults write /Library/Preferences/com.apple.AssetCache.plist ListenRanges '( { first = 10.0.0.1; last = 10.0.0.254; }, { first = 10.1.0.1; last = 10.1.0.254; } )'
Setelah menggunakan perintah default, pastikan untuk menjalankan perintah berikut untuk memuat ulang pengaturan cache konten:
$ sudo AssetCacheManagerUtil reloadSettings
Untuk informasi lainnya mengenai perintah defaults
, lihat halaman man default(1).
Kunci dan nilai plist konfigurasi pembuatan cache
Penting: Jangan ubah peraturan apa pun di file com.apple.AssetCache.plist selain yang dideskripsikan di tabel di bawah.
Kunci dapat memiliki nilai yang diapit di antara dua nilai. Nilai kunci dapat berupa angka apa saja dalam jangkauan di antara nilai rendah dan tinggi. Jika diatur di bawah nilai batas rendah, nilai batas rendah akan digunakan. Jika diatur di atas nilai batas atas, nilai batas atas akan digunakan. Misalnya, PeerDownloadTimeout diapit di antara 5 dan 300. Jika diatur ke 301 atau 1000, maka nilai diatur ke 300. Jika diatur ke 4 atau -10, maka nilai diatur ke 5.
Beberapa perubahan berlaku setelah Anda menjalankan AssetCacheManagerUtil reloadSettings
; perubahan lainnya yang Anda hentikan lalu mulai ulang cache konten. Satu-satunya kunci yang mendukung reloadSettings adalah kunci yang juga dapat diatur di preferensi Cache Konten (dicatat di tabel di bawah). Untuk mengatur nilai di preferensi Cache Konten, pilih menu Apple > Preferensi Sistem, klik Berbagi, lalu klik Cache Konten.
Kunci | Deskripsi | Default | |||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
AgeForLowSpaceAlert | Saat konten disingkirkan dari cache konten karena ruang disk tinggal sedikit, dan konten yang disingkirkan ditambahkan ke cache konten kurang dari sekian hari tersebut, Anda menerima peringatan ruang tinggal sedikit. | 30 (hari) | |||||||||
AllowCacheDelete | Mengizinkan konten untuk disingkirkan dari cache secara otomatis saat komputer memerlukan ruang disk untuk app lainnya. Untuk efektivitas cache konten terbaik, matikan pengaturan ini. | Ya | |||||||||
Yes | Mengizinkan permintaan pengimporan (pengunggahan). | Ya | |||||||||
AllowPersonalCaching | Mengizinkan pembuatan cache data iCloud pengguna. Setidaknya salah satu kunci AllowPersonalCaching atau AllowSharedCaching keys harus diatur ke ya. Anda dapat mengatur nilai ini di preferensi Cache Konten. | Ya | |||||||||
AllowSharedCaching | Mengontrol pembuatan cache konten non-iCloud, seperti pembaruan app dan perangkat lunak. Setidaknya salah satu kunci AllowPersonalCaching atau AllowSharedCaching keys harus diatur ke ya. | Ya | |||||||||
AllowWirelessPortable | Mengizinkan komputer portabel yang hanya memiliki koneksi jaringan Wi-Fi untuk menjalankan cache konten. | Ya | |||||||||
CacheLimit | Jumlah bita maksimum ruang disk yang akan digunakan untuk cache konten. Anda dapat mengatur nilai ini di preferensi Cache Konten. | 0 (tidak terbatas) | |||||||||
DatabaseUpdateInterval | Seberapa sering cache konten menyimpan perubahan ke database pada disk. Peningkatan interval meningkatkan risiko kehilangan konten yang dibuat cache setelah kegagalan daya. Interval maksimum adalah 3600 detik (1 jam). Interval pada 0 berarti database selalu diperbarui dengan segera dan tanpa penundaan, sehingga mengurangi kinerja. | 5 (detik) | |||||||||
DataPath | Jalur ke direktori yang digunakan untuk menyimpan konten yang dibuat cache. Mengubah pengaturan ini secara manual tidak memindahkan konten yang dibuat cache dari lokasi lama ke lokasi baru secara otomatis. Untuk memindahkan konten secara otomatis, gunakan preferensi Cache Konten (lihat Memilih volume untuk pembuatan cache). Anda dapat mengatur nilai ini di preferensi Cache Konten. | /Perpustakaan/Application Support/Apple/AssetCache/Data | |||||||||
DisplayAlerts | Menampilkan pemberitahuan untuk peringatan cache konten. Untuk efektivitas cache konten terbaik, nyalakan pengaturan ini. | Tidak | |||||||||
DownloadMinRate | Jumlah bita per detik minimum yang harus ditahan oleh klien saat mengunduh konten dari cache konten. Cache konten menghentikan pengunduhan data transfer yang lebih lambat dari laju ini. Minimum yang diapit adalah 1000 bita per detik. | 8000 (bita per detik) | |||||||||
DownloadTimeout | Durasi, dalam detik, untuk mengizinkan pengunduhan ke klien untuk tidak aktif sebelum berhenti. Minimum yang diapit adalah 10 detik. | 180 (detik) | |||||||||
ImportMaxRate | Jumlah bita per detik maksimum saat cache konten menerima data dari tiap klien. Nilai pada 0 mengindikasikan jumlah bita per detik tidak terbatas. | 0 (bita per detik) | |||||||||
ImportMinRate | Jumlah bita per detik minimum yang harus ditahan oleh klien saat mengimpor (mengunggah) konten. Cache konten menghentikan pengimporan data transfer yang lebih lambat dari laju ini. Laju minimum adalah 100 bita per detik. | 2000 (bita per detik) | |||||||||
ImportRateAttenuation | Persentase atenuasi ditambahkan ke waktu pengunggahan. Minimum yang diapit adalah 0% atenuasi. Nilai yang terlalu besar akan melampaui ImportTimeout dan menyebabkan kegagalan. | ,20 (persentase) | |||||||||
ImportTimeout | Durasi, dalam detik, untuk mengizinkan pengimporan (pengunggahan) dari klien untuk tidak aktif sebelum berhenti. Durasi minimum adalah 10 detik. | 300 (detik) | |||||||||
Interface | Nama BSD pada antarmuka jaringan untuk digunakan oleh cache konten. | Dengarkan di semua antarmuka | |||||||||
KeepAwake | Membuat komputer tetap bangun saat cache konten menyala. Untuk ketersediaan cache konten terbaik, pilih menu Apple > Preferensi Sistem, klik Penghemat Energi, lalu pilih kotak centang “Cegah komputer tertidur secara otomatis saat layar mati.” | Tidak | |||||||||
ListenRanges | Larik kamus mendeskripsikan jangkauan alamat IP klien untuk disediakan. Lihat di bawah untuk contoh penggunaan kunci ListenRanges. Jenis subtombol tidak lagi diperlukan dan diabaikan jika muncul. Anda dapat mengatur nilai ini di preferensi Cache Konten. | tidak ada | |||||||||
ListenRangesOnly | Jika ListenRangesOnly diatur ke true, cache konten menyediakan konten hanya ke klien dalam jangkauan yang ditentukan oleh kunci ListenRanges. Jika Anda ingin menggunakan kunci ListenRangesOnly, Anda juga harus menentukan kunci ListenRanges. Anda dapat mengatur nilai ini di preferensi Cache Konten. | Tidak | |||||||||
ListenWithPeersAndParents | Mengindikasikan apakah cache konten didaftarkan dengan gabungan kunci ListenRanges, PeerListenRanges, dan Parents keys, atau hanya dengan kunci ListenRanges. Ingat bahwa ListenRanges dapat dihasilkan secara otomatis dari LocalSubnetsOnly, dan PeerListenRanges dapat dihasilkan secara otomatis dari PeerLocalSubnetsOnly. | Nilai default tergantung pada riwayat komputer:
| |||||||||
LocalSubnetsOnly | Apakah cache konten harus menyediakan konten hanya ke klien di jaringan lokal langsung seperti cache konten, alih-alih ke klien di semua jaringan lokal yang dapat dijangkau oleh cache konten. Anda dapat mengatur nilai ini di preferensi Cache Konten. | Ya | |||||||||
LogClientIdentity | Menentukan apakah cache konten harus mencatat alamat IP dan nomor port klien yang meminta konten. | Tidak | |||||||||
MaxConcurrentClients | Batas ini digunakan untuk mencegah habisnya deskriptor file cache konten. Apple tidak menjamin cache konten dapat meraih 3400 klien secara bersamaan. | 3400 | |||||||||
MaxParentDepth | Jumlah maksimum waktu, untuk satu permintaan, untuk cache konten turunan akan meneruskan permintaan ke cache konten induk. Permintaan yang terlalu dalam (rantai penerusan terlalu panjang) dipaksa ke cache konten asli, bukan induk. | 8 | |||||||||
MaxPeersToQuery | Jumlah maksimum cache konten ujung untuk meminta konten. | 0 (tidak terbatas) | |||||||||
MetricsInterval | Seberapa sering, dalam detik, untuk menambahkan baris metrik ke database metrik di /Library/Application Support/Apple/AssetCache/Metrics/Metrics.db.
Diapit di antara 1-60 detik, inklusif. Anda dapat melihat metrik ini di panel Cache pada Monitor Aktivitas. | 60 (detik) | |||||||||
MetricsMaxAge | Metrik yang lebih lama dari ini dihapus dari database metrik, satu kali per hari. Minimum yang diapit adalah 30 hari. | 30 (hari) | |||||||||
OriginDownloadTimeout | Durasi, dalam detik, untuk mengizinkan pengunduhan dari server Apple untuk tidak aktif sebelum berhenti (dan kemungkinan mencoba pengunduhan kembali). Diapit di antara 5 dan 300 detik, inklusif. | 60 | |||||||||
60 | Durasi, dalam detik, untuk mengizinkan pengunggahan ke server asli untuk tidak aktif sebelum berhenti. Diapit di antara 5 dan 3600 detik, inklusif. | 600 | |||||||||
ParentDownloadTimeout | Durasi, dalam detik, untuk mengizinkan pengunduhan dari cache konten induk untuk tidak aktif sebelum berhenti (dan kemungkinan mencoba pengunduhan kembali). Diapit di antara 5-300 detik, inklusif. | 60 | |||||||||
60 | Durasi, dalam detik, untuk mengabaikan cache konten induk setelah cache konten telah mengumpulkan lima kegagalan jaringan berturut-turut atau kesalahan server. Diapit di antara 30-3600 detik, inklusif. | 900 | |||||||||
Induk | Daftar alamat IP lokal pada cache konten lainnya tempat cache ini harus mengunduh atau mengunggah konten alih-alih mengunduh dari atau mengunggah ke Apple secara langsung. Alamat tidak sah dan alamat komputer yang bukan berupa cache konten diabaikan. Cache induk yang menjadi tidak tersedia dilewati menurut ParentRetryInterval. Jika semua cache konten induk menjadi tidak tersedia, cache konten akan mengunduh dari atau mengunggah langsung ke Apple hingga cache konten induk menjadi tersedia lagi. Anda dapat mengatur nilai ini di preferensi Cache Konten. | tidak ada | |||||||||
ParentSelectionPolicy | Kebijakan untuk digunakan saat memilih di antara lebih dari satu cache konten induk yang dikonfigurasi. Dengan setiap kebijakan, cache induk yang tidak tersedia untuk sementara dilewati. Kebijakannya adalah:
Anda dapat mengatur nilai ini di preferensi Cache Konten. | round-robin | |||||||||
ParentUploadTimeout | Durasi, dalam detik, untuk mengizinkan pengunggahan ke cache konten induk untuk tidak aktif sebelum berhenti. Diapit di antara 5-3600 detik, inklusif. | 600 | |||||||||
PeerDownloadTimeout | Durasi, dalam detik, untuk mengizinkan pengunduhan dari cache konten ujung untuk tidak aktif sebelum berhenti (dan kemungkinan mencoba pengunduhan kembali). Diapit di antara 5 dan 300 detik, inklusif. | 30 | |||||||||
PeerFilterRanges | Saat PeerFilterRanges berupa larik (dari entri seperti untuk ListenRanges), cache konten memfilter dan mengurutkan daftar ujungnya menurut jangkauan di larik. Cache konten hanya meminta ujung yang berada di PeerFilterRanges. Pemfilteran dan pengurutan diterapkan sebelum memotong daftar ujung di entri MaxPeersToQuery (jika pengaturan tersebut ada). Saat PeerFilterRanges berupa larik kosong, cache konten tidak akan meminta ujung mana pun. Saat PeerFilterRanges berupa Boolean true, cache konten melakukan hal yang sama seperti di atas, tetapi menggunakan nilai ListenRanges alih-alih PeerFilterRanges. Saat PeerFilterRanges berupa jenis lainnya atau nilai hilang, cache konten tidak memfilter atau mengurutkan daftar ujungnya sebelum memotong daftar di entri MaxPeersToQuery. PeerFilterRanges hanya memengaruhi daftar cache konten lain yang cache konten ini minta untuk konten dan pengunduhan. Ini tidak berpengaruh pada permintaan masuk untuk konten dari cache konten lainnya. Jenis subtombol tidak lagi diperlukan dan diabaikan jika muncul. Anda dapat mengatur nilai ini di preferensi Cache Konten. | tidak ada | |||||||||
PeerListenRanges | Saat PeerListenRanges berupa larik kamus yang mana tiap kamus mewakili jangkauan alamat IP, cache konten hanya akan berhasil merespons ke permintaan cache ujung dari cache konten dengan alamat IP yang terdapat di dalam larik jangkauan ini. Saat PeerListenRanges berupa larik kosong, cache konten akan merespons dengan kesalahan ke permintaan cache dari cache konten lainnya. Saat PeerListenRanges berupa Boolean true, cache konten akan menggunakan nilai ListenRanges alih-alih nilai PeerFilterRanges untuk menentukan cache konten lainnya yang akan berhasil merespons ke permintaan cache. Saat PeerListenRanges berupa jenis lainnya atau nilai hilang, cache konten akan berhasil merespons ke permintaan cache dari semua cache konten. PeerListenRanges hanya memengaruhi cache konten mana yang cache konten ini akan berhasil merespons ke permintaan cache. Ini tidak berpengaruh pada daftar ujung yang cache konten ini akan minta untuk konten dan pengunduhan. Saat cache konten merespons dengan kesalahan dari permintaan cache, cache konten yang meminta menandai cache konten yang merespons sebagai tidak ramah dan tidak mencoba untuk memintanya lagi hingga PeerRetryInterval telah berlalu. Jenis subtombol tidak lagi diperlukan dan diabaikan jika muncul. Anda dapat mengatur nilai ini di preferensi Cache Konten. | tidak ada | |||||||||
PeerLocalSubnetsOnly | Apakah cache konten hanya harus menggunakan ujung dengan cache konten lainnya di jaringan lokal langsung yang sama, alih-alih cache konten yang menggunakan alamat IP publik yang sama dengan komputer ini. Saat PeerLocalSubnetsOnly berupa true, cache konten hanya meminta dan berhasil merespons ke permintaan ujung dari cache konten di jaringan lokal langsung yang sama. Saat PeerLocalSubnetsOnly berupa true, ini akan menimpa konfigurasi PeerFilterRanges dan PeerListenRanges. Saat PeerLocalSubnetsOnly berupa false, cache konten ditunda ke PeerFilterRanges dan PeerListenRanges untuk mengonfigurasi pembatasan ujung. Saat PeerLocalSubnetsOnly berupa true dan jaringan berubah, pembatasan ujung jaringan lokal diperbarui dengan benar. Anda dapat mengatur nilai ini di preferensi Cache Konten. | Ya | |||||||||
PeerNotifyTimeout | Durasi, dalam detik, untuk menunggu balasan dari cache konten ujung saat melakukan ping pada cache konten saat memulai. Diapit di antara 5 dan 300 detik, inklusif. | 30 | |||||||||
PeerQueryTimeout | Durasi, dalam detik, untuk menunggu balasan dari cache konten ujung saat bertanya ke cache konten mengenai konten di dalam cachenya. Diapit di antara 1 dan 60 detik, inklusif. | 5 | |||||||||
PeerRetryInterval | Durasi, dalam detik, untuk mengabaikan cache konten ujung setelah cache konten telah mengumpulkan tiga kegagalan pemberitahuan atau permintaan. Setelah interval percobaan ulang telah berlalu, cache konten ujung dipulihkan ke daftar ujung untuk meminta konten. Diapit di antara 30 dan 3600 detik, inklusif. | 900 (detik) | |||||||||
PersonalCacheLimit | Batasi jumlah ruang disk yang cache konten gunakan untuk data iCloud yang dibuat cache, dalam bita. PersonalCacheLimit tidak boleh melampaui CacheLimit. | 0 (tidak terbatas) | |||||||||
Port | Jumlah port TCP yang mana cache konten menerima permintaan pengunggahan atau pengunduhan. | 0 (gunakan port acak) | |||||||||
PruneAffinitiesAge | Afinitas pengguna yang lebih lama dari jumlah hari ini dihapus dari cache afinitas secara otomatis. Afinitas pengguna menyediakan petunjuk untuk klien tempat konten klien dibuat cache, untuk kinerja yang ditingkatkan. Pemangkasan afinitas pengguna tidak berpengaruh pada konten yang dibuat cache. Minimum yang diapit adalah 7 hari. | 30 (hari) | |||||||||
PruneAffinitiesInterval | Seberapa sering, dalam hari, cache konten harus memindai dan menghapus afinitas pengguna yang lebih lama daripada hari PruneAffinitiesAge. Afinitas pengguna, hanya digunakan oleh iCloud, menyediakan petunjuk untuk klien tempat konten klien dibuat cache, untuk kinerja yang ditingkatkan. Pemangkasan afinitas pengguna tidak berpengaruh pada konten yang dibuat cache. Minimum yang diapit adalah satu hari. | 7 (hari) | |||||||||
PruneAssetsAge | Konten yang belum diminta dalam jumlah hari ini dihapus dari cache konten secara otomatis. Minimum yang diapit adalah 7 hari. | 120 (hari) | |||||||||
PruneAssetsInterval | Seberapa sering, dalam hari, cache konten harus memindai dan menghapus konten yang lebih lama daripada hari PruneAssetsAge. Minimum yang diapit adalah satu hari. | 7 (hari) | |||||||||
PublicRanges | Jangkauan alamat IP yang server awan harus gunakan untuk mencocokkan klien dengan cache konten. Anda dapat mengatur nilai ini di preferensi Cache Konten. | tidak ada default | |||||||||
ReservedVolumeSpace | Jumlah bita minimum ruang disk yang akan dikekola untuk volume yang menyimpan cache konten. | 2000000000 (2 GB) | |||||||||
TerminationTimeout | Durasi, dalam detik, cache konten harus mencoba membatalkan pendaftaran saat cache konten dihentikan. Pembatalan pendaftaran menginformasikan klien bahwa cache konten sudah tidak tersedia sehingga klien tidak akan mencoba menggunakan cache konten lagi (atau hingga cache konten dimulai lagi). Diapit di antara 1 dan 60 detik, inklusif. | 10 (detik) | |||||||||
Verbose | Saat Verbose=true, cache konten mencatat lebih banyak informasi mengenai aktivitasnya. Pencatatan yang ditingkatkan dapat mengurangi kinerja. Pengaturan ini tidak dianjurkan untuk penggunaan jangka panjang. Gunakan perintah Misalnya: Anda juga dapat menggunakan app Konsol untuk melihat log. | Tidak |
Contoh kunci ListenRanges
Anda dapat menggunakan kunci ListenRanges untuk menentukan cache konten yang disukai dalam topologi jaringan lanjutan tempat cache konten digunakan dalam alamat IP publik yang sama.
Misalnya:
caching1.example.com menggunakan kunci ListenRanges untuk menentukan jangkauan 10.0.0.1 hingga 10.0.0.254 dan 10.1.0.1 hingga 10.1.0.254, serta mengatur kunci ListenRangesOnly ke Tidak.
caching2.example.com menggunakan kunci ListenRanges untuk menentukan jangkauan 10.1.0.1 hingga 10.1.0.39 (perhatikan adanya tumpang tindih dengan jangkauan kedua caching1), dan mengatur kunci ListenRangesOnly ke Tidak.
Jika klien dengan alamat IP 10.0.0.10 meminta konten, permintaan diarahkan ke caching1.
Jika klien dengan alamat IP 10.1.0.10 meminta konten, permintaan diarahkan ke caching1, atau caching2, dipilih secara acak.
Jika klien dengan alamat IP 10.2.0.10 meminta konten, permintaan diarahkan ke caching1, atau caching2, dipilih secara acak.
Jika caching1 dimatikan atau kehilangan daya tetapi caching2 tetap tersedia, semua klien akan diarahkan ke caching2.
Contoh file plist
Berikut ini adalah contoh file /Library/Preferences/com.apple.AssetCache.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/Library/Application Support/Apple/AssetCache/Data</string>
<key>Interface</key>
<string>en1</string>
<key>ListenRanges</key>
<array>
<dict>
<key>type</key>
<string>IPv4</string>
<key>first</key>
<string>10.1.2.1</string>
<key>last</key>
<string>10.1.2.254</string>
</dict>
<dict>
<key>type</key>
<string>IPv6</string>
<key>first</key>
<string>2001:500:88:200::1</string>
<key>last</key>
<string>2001:500:88:200::99</string>
</dict>
</array>
<key>LogClientIdentity</key>
<string>true</string>
<key>Port</key>
<integer>12345</integer>
<key>ReservedVolumeSpace</key>
<!-- Set the ReservedVolumeSpace to 1 GB -->
<integer>1000000000</integer>
</dict>
</plist>