FSAssets Service/de
From OpenSimulator
Contents |
FS Assets
FSAssets ist für Grids vorgesehen, bei denen die Größe der Datenbank voraussichtlich 50 GB überschreitet. Diese Option speichert die Assets im Dateisystem im Gegensatz zum Standarddienst, der Assets als Blobs in der Datenbank speichert. Diese Option bietet auch Deduplizierungsfunktionen. Jedes Asset wird gehasht, wenn es zur Speicherung empfangen wird. Wenn das Asset bereits vorhanden ist, wird der Asset-Service mit der vorhandenen Datei verknüpft, anstatt zwei Kopien zu speichern. Einzelpersonen erreichen sehr schnell ein Inventar der Größe 12 GB im laufe der zeit erhöht sich das ganze meist auf 18 GB pro Benutzer, es gibt aber ausnahmen wo einzelne Personen schon 50 GB erreichen.
Konfigurationsoptionen
Öffnen Sie zum Aktivieren von FSAssets die Robust.ini oder Robust.HG.ini, je nachdem, ob Sie ein Standard- oder Hypergrid- fähiges Grid betreiben, und suchen Sie den Abschnitt AssetService. Ändern Sie das LocalServiceModule in FSAssetService wie folgt:
LocalServiceModule = "OpenSim.Services.FSAssetService.dll:FSAssetConnector"
Kommentieren Sie auch die folgenden erforderlichen Einstellungen aus, die für FSAssets spezifisch sind:
BaseDirectory = "./fsassets/data" SpoolDirectory = "./fsassets/tmp"
Die folgenden optionalen FSAsset Konfigurationsoptionen sind verfügbar:
;FallbackService = "OpenSim.Services.AssetService.dll:AssetService" ;DaysBetweenAccessTimeUpdates = 30
;StorageProvider = "" ;ConnectionString = "" ;Realm = "fsassets"
- BaseDirectory
- Dies ist der Ordner, in dem die Asset-Daten gespeichert werden.
- SpoolDirectory
- Das Spool-Verzeichnis ist ein Ordner, der für die temporäre Speicherung verwendet wird, während das Asset gehasht und komprimiert wird, bevor es in das BaseDirectory verschoben wird. Dies muss sich im selben Dateisystem wie das Basisverzeichnis befinden.
- FallbackService
- Wenn Sie ein Upgrade vom Standard Asset Service durchführen, kommentieren Sie dies aus und legen Sie den Standard Asset Connector fest. Auf diese Weise können FSAssets ein vorhandenes Asset aus dem alten Dienst abrufen und zum BaseDirectory hinzufügen. Der Fallback Service wird überprüft, wenn ein Asset angefordert, aber von FSAssets nicht gefunden wird.
- DaysBetweenAccessTimeUpdates
- Standardmäßig wird die Zugriffszeit jedes Mal aktualisiert, wenn ein Asset angefordert wird. Diese Option kann verwendet werden, um dieses Update für Assets zu überspringen, die bereits eine aktuelle Zugriffszeit haben, und um Anrufe an die Datenbank zu reduzieren.
- StorageProvider
- Um zu ändern, wo die Metadaten gespeichert werden, können Sie einen bestimmten Speicheranbieter und eine bestimmte Verbindungszeichenfolge festlegen. Wenn dies deaktiviert ist, wird der im Datenbankabschnitt angegebene Standardspeicheranbieter zum Speichern von Metadaten verwendet.
- ConnectionString
- Datenbank Verbindungszeichenfolge für den oben genannten optionalen StorageProvider.
- Realm
- Der Tabellenname zum Speichern von Metadaten in der Datenbank. Standard ist 'fsassets'
Migration
While FSAssets will use the FallBackService if set, to convert any existing assets when they are requested and not found, this will not automatically convert all the old assets to the new service. To convert all assets from the default service there is a console command provided:
import <conn> <table> [<start> <count>]
The import command expects a database connection string and the name of the legacy asset table to be passed as parameters. The following example shows how to start the import process for a MySQL database, just change the connection details to match your database schema, username and password:
import "Data Source=localhost;Database=SCHEMA;User ID=USER;Password=PASS;Old Guids=true;" assets
Depending on the size of your existing assets table, the import process will take some time to complete. The optional parameters, start and count allow you to specify the position and number of rows to convert.
If the import command fails with a timeout error., add "command timeout=300;" to the connection string:
import "Data Source=localhost;Port=3306;Database=Robust;User ID=SomeRobustuser;Password=Somerobustpassword;Old Guids=true;Command Timeout=300;" assets
The timeout is in minutes, and the default is only 30 seconds.
Hypergrid Assets
If your grid has hypergrid enabled, you probably have it setup to use the HGAssetService for sharing assets with other grids. In this situation you will need to change the HGAssetService section of your Robust.ini to point to the FSAssets version of the HGAssetService known as HGFSAssetService.
To enable the HGFSAssetService, find the HGAssetService section of your Robust.ini, the LocalServiceModule should be changed to:
LocalServiceModule = "OpenSim.Services.HypergridService.dll:HGFSAssetService"