
Impostazioni avanzate della cache dei contenuti sul Mac
Puoi adattare la cache dei contenuti alla configurazione di rete tramite parametri di configurazione avanzata.
Per impostare parametri di configurazione avanzata per la cache dei contenuti, puoi utilizzare la riga di comando in Terminale o modificare il valore delle chiavi nel file /Library/Preferences/com.apple.AssetCache.plist. Affinché alcune modifiche abbiano effetto, la cache dei contenuti deve essere interrotta e riavviata.
Configurare le impostazioni avanzate
Puoi configurare alcune impostazioni avanzate per il servizio di cache dei contenuti andando in Impostazioni di Sistema (macOS 13 o versione successiva) o in Preferenze di Sistema (macOS 12.0.1 o versioni precedenti) > Condivisione > Cache dei contenuti. Poi, tieni premuto il tasto Opzione e seleziona “Opzioni avanzate”.
Puoi configurare impostazioni ancora più avanzate con l’applicazione Terminale sul Mac utilizzando il comando defaults, seguito dal comando sudo AssetCacheManagerUtil reloadSettings. Utilizza il comando AssetCacheManagerUtil settings per visualizzare le impostazioni standard (non avanzate).
Puoi impostare chiavi semplici e complesse con il comando defaults.
Per esempio, per codificare il numero di porta (50000) nella versione non dinamica, deve essere qualsiasi numero compreso tra 49192 e 65535. Inoltre occorre eseguire questo comando come amministratore:
$ sudo -u _assetcache defaults write /Library/Preferences/com.apple.AssetCache.plist Port -int 50000ListenRanges è una chiave complessa che utilizza una matrice di dizionari. Ad esempio, esegui il comando come amministratore per impostare due intervalli di indirizzi IP per la chiave 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; } )'Dopo aver utilizzato il comando defaults, assicurati di eseguire il comando seguente per ricaricare le impostazioni della cache dei contenuti:
$ sudo AssetCacheManagerUtil reloadSettingsChiavi plist e valori per la configurazione della cache
Importante: non modificare nessuna impostazione nel file com.apple.AssetCache.plist, tranne quelle descritte nella tabella di seguito.
Una chiave può avere un valore che è compreso tra due valori. Il valore della chiave può essere qualsiasi numero compreso tra il valore più basso e quello più alto. Se è impostato al di sotto del valore più basso, viene utilizzato il valore più basso. Se il valore è impostato al di sopra del valore più alto, viene utilizzato il valore più alto. Ad esempio, PeerDownloadTimeout deve essere compreso tra 5 e 300. Se è impostato su 301 o 1000, il valore verrà impostato su 300. Se è impostato su 4 o -10, il valore verrà impostato su 5.
Alcune modifiche hanno effetto dopo aver eseguito AssetCacheManagerUtil reloadSettings; per altre è necessario interrompere e riavviare la cache dei contenuti. Le uniche chiavi che supportano reloadSettings sono quelle che possono essere impostate anche nelle preferenze della cache dei contenuti (indicate nella tabella di seguito). Per impostare valori nelle preferenze della cache dei contenuti:
macOS 13 o versione successiva: scegli menu Apple > Impostazioni di Sistema > Generali > Condivisione > Cache dei contenuti.
macOS 12.0.1 o versione precedente: scegli menu Apple > Preferenze di Sistema > Condivisione > Cache dei contenuti.
Chiave | Descrizione | Valore di default | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
AgeForLowSpaceAlert | Ti avvisa quando i contenuti vengono eliminati dalla cache dei contenuti per mancanza di spazio di archiviazione e i contenuti eliminati sono stati aggiunti alla cache dei contenuti da un numero di giorni inferiore a quelli specificati, riceverai un avviso di spazio in esaurimento. | 30 (giorni) | |||||||||
AllowCacheDelete | Consente di eliminare i contenuti dalla cache automaticamente quando il computer necessita di spazio di archiviazione per altre applicazioni. Per ottimizzare l’efficacia della cache dei contenuti, disattiva questa impostazione. | Sì | |||||||||
AllowImports | Consente le richieste di importazione (caricamento) | Sì | |||||||||
AllowPersonalCaching | Consente l’archiviazione nella cache dei dati di iCloud degli utenti. Almeno una delle chiavi Puoi impostare questo valore anche nelle impostazioni della cache dei contenuti. | Sì | |||||||||
AllowSharedCaching | Controlla l’archiviazione nella cache dei contenuti indipendenti da iCloud, come le app e gli aggiornamenti software. Almeno una delle chiavi | Sì | |||||||||
AllowWirelessPortable | Consente ai computer portatili Mac con connessioni di rete esclusivamente tramite Wi-Fi di eseguire la cache dei contenuti. | Sì | |||||||||
CacheLimit | Specifica il numero massimo di byte di spazio di archiviazione che viene usato per la cache dei contenuti. Puoi impostare questo valore anche nelle impostazioni della cache dei contenuti. | 0 (illimitati) | |||||||||
DatabaseUpdateInterval | Specifica la frequenza con cui la cache dei contenuti salva le modifiche sul database archiviato. Un intervallo più alto aumenta il rischio della perdita di contenuti archiviati in cache in seguito a un’interruzione di corrente. Il valore massimo è 3600 secondi (1 ora). Un intervallo pari a 0 comporta un aggiornamento continuo e immediato del database, senza ritardi, ma diminuisce le prestazioni. | 5 (secondi) | |||||||||
DataPath | Specifica percorso alla directory utilizzata per l’archiviazione dei contenuti della cache. La modifica manuale di queste impostazioni non sposta automaticamente i contenuti della cache dalla vecchia posizione alla nuova. Per spostare i contenuti automaticamente, utilizza le impostazioni della cache dei contenuti. Puoi impostare questo valore anche nelle impostazioni della cache dei contenuti. | /Library/Application Support/Apple/AssetCache/Data | |||||||||
DisplayAlerts | Visualizza le notifiche per gli avvisi della cache dei contenuti. Per ottimizzare l’efficacia della cache dei contenuti, attiva questa impostazione. | No | |||||||||
DownloadMinRate | Specifica il numero minimo di byte al secondo che i client devono sostenere durante il download dei contenuti dalla cache dei contenuti. La cache dei contenuti interrompe i download che trasferiscono dati a una velocità inferiore a quella specificata. Il valore minimo consentito è 1000 byte al secondo. | 8000 (byte al secondo) | |||||||||
DownloadTimeout | Specifica il tempo di inattività massimo consentito, in secondi, per il download da un client prima dell’interruzione. Il valore minimo consentito è 10 secondi. | 180 (secondi) | |||||||||
ImportMaxRate | Specifica il numero massimo di byte al secondo a cui la cache dei contenuti riceve i dati da ogni client. Un valore pari a 0 indica un numero illimitato di byte al secondo. | 0 (byte al secondo) | |||||||||
ImportMinRate | Specifica il numero minimo di byte al secondo che i client devono sostenere durante l’importazione (caricamento) dei contenuti. La cache dei contenuti interrompe le importazioni che trasferiscono dati a una velocità minore di quella specificata. Il valore minimo è 100 byte al secondo. | 2000 (byte al secondo) | |||||||||
ImportRateAttenuation | Specifica la percentuale di attenuazione aggiunta al tempo di caricamento. Il valore minimo consentito è 0% di attenuazione. I valori troppo grandi superano il valore ImportTimeout e causano degli errori. | 0,20 (percentuale) | |||||||||
ImportTimeout | Specifica il tempo di inattività massimo consentito, in secondi, per l’importazione (caricamento) da un client prima dell’interruzione. Il valore minimo è 10 secondi. | 300 (secondi) | |||||||||
Interface | Specifica il nome BSD di un’interfaccia di rete che viene usata dalla cache dei contenuti. Per esempio, en0. Inoltre è sempre in ascolto dell’interfaccia di loopback (host locale). | Ascolto di tutte le interfacce | |||||||||
KeepAwake | Mantiene il computer attivo quando la cache dei contenuti è attiva. Per ottimizzare la disponibilità della cache dei contenuti, attiva questa impostazione. Seleziona il riquadro “Non andare in standby automaticamente quando il monitor è spento” in “Risparmio energia” in Impostazioni di Sistema. | No | |||||||||
ListenRanges | Una matrice di dizionari che descrive l’intervallo di indirizzi IP client da utilizzare. Di seguito troverai un esempio dell’utilizzo della chiave La sottochiave tipo non è più necessaria e viene ignorata se presente. Puoi impostare questo valore anche nelle impostazioni della cache dei contenuti. | nessuno | |||||||||
ListenRangesOnly | Se Se desideri utilizzare la chiave Puoi impostare questo valore anche nelle impostazioni della cache dei contenuti. | No | |||||||||
ListenWithPeersAndParents | Indica se la cache dei contenuti viene registrata con l’unione delle chiavi Considera che | Il valore di default dipende dal computer:
| |||||||||
LocalSubnetsOnly | Indica se la cache offre i contenuti solo ai client sulla stessa rete locale immediata della cache dei contenuti, piuttosto che ai client su tutte le reti locali raggiungibili dalla cache dei contenuti. Puoi impostare questo valore anche nelle impostazioni della cache dei contenuti. | Sì | |||||||||
LogClientIdentity | Determina se è necessario che la cache dei contenuti registri l’indirizzo IP e il numero di porta dei client che richiedono contenuti. | No | |||||||||
MaxConcurrentClients | Specifica il numero massimo di client che una cache di contenuti può supportare. Apple non garantisce che una cache dei contenuti possa ottenere 3400 client contemporaneamente. | 3400 | |||||||||
MaxParentDepth | Specifica il numero massimo di volte, per una singola richiesta, che una cache figlio inoltra una richiesta a una cache padre. Le richieste che sono troppo profonde (la cui catena di inoltro è troppo lunga) vengono forzate all’origine piuttosto che al parent. | 8 | |||||||||
MaxPeersToQuery | Specifica il numero massimo di cache peer che richiedono contenuti. | 0 (illimitati) | |||||||||
MetricsInterval | Specifica quanto spesso, in secondi, deve essere aggiunta una riga di metriche al database delle metriche in /Library/Application Support/Apple/AssetCache/Metrics/Metrics.db.
Bloccato tra 1-60 secondi (inclusi). Puoi anche visualizzare tali metriche nel pannello Cache di Monitoraggio Attività. | 60 (secondi) | |||||||||
MetricsMaxAge | Le metriche anteriori a questa vengono rimosse dal database delle metriche una volta al giorno. Il valore minimo consentito è 30 giorni. | 30 (giorni) | |||||||||
OriginDownloadTimeout | Specifica il tempo espresso in secondi per consentire un download dai server di Apple e mantenere lo stato inattivo prima di interrompere il download (e possibilmente riprovare). Compreso tra 5 e 300 secondi, inclusi. | 60 | |||||||||
OriginUploadTimeout | Specifica il tempo di inattività massimo consentito, espresso in secondi, per il caricamento su un server di origine prima dell’interruzione. Compreso tra 5 e 3600 secondi, inclusi. | 600 | |||||||||
Parent | Una lista degli indirizzi IP locali di altre cache dei contenuti da cui questa cache deve eseguire il download o il caricamento dei contenuti invece che eseguirli direttamente da Apple. Gli indirizzi non validi e gli indirizzi di computer che non sono cache dei contenuti vengono ignorati. Le cache padre che diventano non disponibili vengono saltate come indicato da Se tutte le cache parent diventano non disponibili, la cache dei contenuti esegue il download o il caricamento direttamente da Apple finché una cache parent non sarà nuovamente disponibile. Puoi impostare questo valore anche nelle impostazioni della cache dei contenuti. | nessuno | |||||||||
ParentDownloadTimeout | Specifica il tempo, espresso in secondi, per consentire un download da una cache parent e mantenere lo stato inattivo prima di interrompere il download (e possibilmente riprovare). Bloccato tra 5-300 secondi (inclusi). | 60 | |||||||||
ParentRetryInterval | Specifica il tempo, espresso in secondi, per ignorare le cache parent dopo cinque errori del server o della rete consecutivi. Bloccato tra 30-3600 secondi (inclusi). | 900 | |||||||||
ParentSelectionPolicy | La politica da utilizzare quando si sceglie tra più di una cache parent configurata. Con ogni politica, le cache parent che sono temporaneamente non disponibili vengono saltate. Le politiche sono:
Puoi impostare questo valore anche nelle impostazioni della cache dei contenuti. | round-robin | |||||||||
ParentUploadTimeout | Specifica il tempo di inattività massimo consentito, espresso in secondi, per il caricamento su una cache parent prima dell’interruzione. Bloccato tra 5-3600 secondi (inclusi). | 600 | |||||||||
PeerDownloadTimeout | Specifica il tempo, espresso in secondi, per consentire un download da una cache peer e mantenere lo stato inattivo prima di interrompere il download (e possibilmente riprovare). Compreso tra 5 e 300 secondi, inclusi. | 30 | |||||||||
PeerFilterRanges | Quando La cache dei contenuti richiede solo i peer presenti in Quando Quando Quando
La sottochiave tipo non è più necessaria e viene ignorata se presente. Puoi impostare questo valore anche nelle impostazioni della cache dei contenuti. | nessuno | |||||||||
PeerListenRanges | Quando Quando Quando Quando
Quando una cache dei contenuti risponde con un errore a una richiesta di cache, la cache richiedente contrassegna la cache che risponde come unfriendly e non tenta di effettuare di nuovo una richiesta alla stessa cache fino a che non è trascorso il La sottochiave tipo non è più necessaria e viene ignorata se presente. Puoi impostare questo valore anche nelle impostazioni della cache dei contenuti. | nessuno | |||||||||
PeerLocalSubnetsOnly | Indica se la cache dei contenuti deve convertirsi in peer solo con altre cache dei contenuti sulla stessa rete locale vicina, piuttosto che con cache dei contenuti che utilizzano lo stesso indirizzo IP pubblico del computer. Quando Quando Quando Quando Puoi impostare questo valore anche nelle impostazioni della cache dei contenuti. | Sì | |||||||||
PeerNotifyTimeout | Specifica l’intervallo di tempo, espresso in secondi, di attesa per le risposte dalle cache peer quando viene eseguito il ping all’avvio. Compreso tra 5 e 300 secondi, inclusi. | 30 | |||||||||
PeerQueryTimeout | Specifica il tempo di risposta, espresso in secondi, da parte delle cache peer quando vengono richieste informazioni sui contenuti nella loro cache. Compreso tra 1 e 60 secondi, inclusi. | 5 | |||||||||
PeerRetryInterval | Specifica il tempo, espresso in secondi, per ignorare le cache peer dopo tre richieste o notifiche consecutive non riuscite. Dopo aver superato l’intervallo di tempo per un nuovo tentativo, le cache peer verranno visualizzate nuovamente nell’elenco dei peer per richiedere i contenuti. Compreso tra 30 e 3600 secondi, inclusi. | 900 (secondi) | |||||||||
PersonalCacheLimit | Limita lo spazio di archiviazione utilizzato dalla cache dei contenuti per archiviare i dati di iCloud, in byte. Il valore di | 0 (illimitati) | |||||||||
Porta | Specifica il numero di porta TCP su cui la cache dei contenuti accetta le richieste di caricamento o di download. | 0 (usa una porta random) | |||||||||
PruneAffinitiesAge | Le affinità utente più vecchie del numero di giorni specificato vengono rimosse dalla cache delle affinità automaticamente. Le affinità utente suggeriscono ai client la posizione in cui sono archiviati i relativi contenuti, migliorando così le prestazioni. L’eliminazione delle affinità utente non ha effetto sui contenuti archiviati in cache. Il valore minimo consentito è sette giorni. | 30 (giorni) | |||||||||
PruneAffinitiesInterval | Specifica la frequenza, espressa in giorni, con cui la cache dei contenuti deve cercare e rimuovere le affinità utente più vecchie del valore in giorni di | 7 (giorni) | |||||||||
PruneAssetsAge | I contenuti che non sono stati richiesti in questo intervallo di giorni vengono rimossi automaticamente dalla cache dei contenuti. Il valore minimo consentito è sette giorni. | 120 (giorni) | |||||||||
PruneAssetsInterval | Specifica la frequenza, espressa in giorni, con cui la cache dei contenuti deve cercare e rimuovere i contenuti più vecchi del valore in giorni di | 7 (giorni) | |||||||||
PublicRanges | Specifica gli intervalli di indirizzi IP pubblici che i server cloud devono utilizzare per abbinare i client alla cache dei contenuti. Puoi impostare questo valore anche nelle impostazioni della cache dei contenuti. | nessun default | |||||||||
ReservedVolumeSpace | Specifica il numero minimo di byte di spazio di archiviazione libero necessario per il volume che archivia i contenuti archiviati nella cache. | 2000000000 (2 GB) | |||||||||
TerminationTimeout | Specifica il tempo, espresso in secondi, per il quale la cache dei contenuti deve tentare di annullare la registrazione quando viene interrotta. L’annullamento della registrazione informa i client che la cache dei contenuti non è più disponibile, in maniera tale che non tentino più di utilizzarla (finché la cache dei contenuti non viene riavviata). Compreso tra 1 e 60 secondi, inclusi. | 10 (secondi) | |||||||||
Verbose | Quando il valore Utilizza il comando Ad esempio: Puoi utilizzare anche l’app Console per visualizzare i log. | No | |||||||||
Esempio di utilizzo della chiave ListenRanges
Puoi utilizzare la chiave ListenRanges per specificare le cache dei contenuti preferite in tipologie di rete avanzate dove vengono utilizzate varie cache dei contenuti associate allo stesso indirizzo IP pubblico.
Ad esempio:
caching1.melardclothing.com utilizza la chiave
ListenRangesper specificare un intervallo compreso tra 10.0.0.1 e 10.0.0.254 e tra 10.1.0.1 e 10.1.0.254 e imposta la chiaveListenRangesOnlysu No.caching2.melardclothing.com utilizza la chiave
ListenRangesper specificare un intervallo compreso tra 10.1.0.1 e 10.1.0.39 (tieni presente la sovrapposizione con il secondo intervallo di caching1) e imposta la chiaveListenRangesOnlysu No.Se un client il cui indirizzo IP è 10.0.0.10 richiede contenuti, questo è diretto al server caching1.
Se un client il cui indirizzo IP è 10.1.0.10 richiede contenuti, questo è diretto al server caching1 o caching2, selezionato casualmente.
Se un client il cui indirizzo IP è 10.2.0.10 richiede contenuti, questo è diretto al server caching1 o caching2, selezionato casualmente.
Se il server caching1 è spento o non presenta potenza sufficiente ma il server caching2 è disponibile, tutti i client sono diretti al server caching2.
Esempio di file plist
Questo è un esempio di 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/BigVolume/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>