Current File : //proc/self/root/usr/local/jetapps/var/www/jetbackup5/docroot/app/views/settings/performance.htm |
<div ng-controller="performanceSettings">
<div class="row">
<div class="col-lg-8 col-lg-offset-2 col-md-12 col-md-offset-0">
<div class="form-group">
<label class="control-label col-md-3 col-sm-3 col-xs-12" for="system_forks">{{ lang.t("Concurrent System Tasks") }}</label>
<div class="col-md-9 col-sm-9 col-xs-12">
<input-dropdown addon="{{lang.t('Task(s)')}}" options="{1:1,3:3,5:5,10:10}" ng-model="saveData.system_forks">
<input validate-field="int" min="1" max="10" class="form-control" ng-model="saveData.system_forks" id="system_forks" type="text" value="" />
</input-dropdown>
<p class="help-block">{{ lang.t("Set the maximum number of concurrent system tasks that may run simultaneously. JetBackup utilizes one fork per system task on the server. (Maximum value of 10)") }}<br /><strong>{{lang.t("NOTE: Higher value doesn't necessarily mean higher performance, we recommend 1 task per server CPU core, but no more than 5 for daily usage, and 10 for restoring in a disaster recovery mode.")}}</strong></p>
</div>
</div>
<div class="form-group">
<label class="control-label col-md-3 col-sm-3 col-xs-12" for="queueable_forks">{{ lang.t("Concurrent Restore/Download/Reindex Tasks") }}</label>
<div class="col-md-9 col-sm-9 col-xs-12">
<input-dropdown addon="{{lang.t('Task(s)')}}" options="{1:1,3:3,5:5,10:10}" ng-model="saveData.queueable_forks">
<input validate-field="int" min="1" max="10" class="form-control" ng-model="saveData.queueable_forks" id="queueable_forks" type="text" value="" />
</input-dropdown>
<p class="help-block">{{ lang.t("Set the maximum number of concurrent restore/download/reindex tasks that may run simultaneously. JetBackup utilizes one fork per restore/download task on the server. (Maximum value of 10)") }}<br /><strong>{{lang.t("NOTE: Higher value doesn't necessarily mean higher performance, we recommend 1 task per server CPU core, but no more than 5 for daily usage, and 10 for restoring in a disaster recovery mode.")}}</strong></p>
</div>
</div>
<div class="form-group">
<label class="control-label col-md-3 col-sm-3 col-xs-12" for="backup_forks">{{ lang.t("Concurrent Backup/Clone Tasks") }}</label>
<div class="col-md-9 col-sm-9 col-xs-12">
<input-dropdown addon="{{lang.t('Task(s)')}}" options="{1:1,3:3,5:5,10:10}" ng-model="saveData.backup_forks">
<input validate-field="int" min="1" max="10" class="form-control" ng-model="saveData.backup_forks" id="backup_forks" type="text" value="" />
</input-dropdown>
<p class="help-block">{{ lang.t("Set the maximum number of concurrent backup/clone tasks that may run simultaneously. JetBackup utilizes one fork per Directories Backup Job or one fork per account on an Account Backup/Clone Job. (Maximum value of 10)") }}<br /><strong>{{lang.t("NOTE: Higher value doesn't necessarily mean higher performance, we recommend 1 task per server CPU core, but no more than 5. You also need to consider limiting CPU usage (200% is a reasonable limit).")}}</strong></p>
</div>
</div>
<div class="form-group">
<label class="control-label col-md-3 col-sm-3 col-xs-12" for="backup_fork_ttl">{{ lang.t("Backup/Clone Fork TTL") }}</label>
<div class="col-md-9 col-sm-9 col-xs-12">
<input-dropdown addon="{{lang.t('Hour(s)')}}" options="{0:lang.t('Disabled'),1:1,2:2,3:3,4:4,5:5,8:8,10:10}" ng-model="saveData.backup_fork_ttl">
<input validate-field="int" min="0" class="form-control" ng-model="saveData.backup_fork_ttl" id="backup_fork_ttl" type="text" value="" />
</input-dropdown>
<p class="help-block">{{ lang.t("Set the maximum time a backup/clone fork can run in hours. It will automatically abort once it reaches the set TTL.") }}</p>
</div>
</div>
<div class="form-group">
<label class="control-label col-md-3 col-sm-3 col-xs-12" for="backup_integrity_check_schedule">{{ lang.t("Backup Cleanup & Integrity Check Schedule") }}</label>
<div class="col-md-9 col-sm-9 col-xs-12">
<input-dropdown addon="{{lang.t('Day(s)')}}" options="{1:1,2:2,7:7,14:14,30:30,60:60,90:90}" ng-model="saveData.backup_integrity_check_schedule">
<input validate-field="int" min="1" max="90" class="form-control" ng-model="saveData.backup_integrity_check_schedule" id="backup_integrity_check_schedule" type="text" value="" />
</input-dropdown>
<p class="help-block">{{ lang.t("Set the time that backup cleanup & integrity check should run in days. (Minimum value of 1 and Maximum value of 90)") }}</p>
</div>
</div>
<div class="form-group">
<label class="control-label col-md-3 col-sm-3 col-xs-12" for="limit_account_downloads">{{ lang.t("Limit accounts Downloads") }}</label>
<div class="col-md-9 col-sm-9 col-xs-12">
<input-dropdown addon="{{lang.t('Downloads')}}" options="{0:lang.t('Unlimited'),1:1,2:2,3:3,4:4,5:5,8:8,10:10}" ng-model="saveData.limit_account_downloads">
<input validate-field="int" min="0" class="form-control" ng-model="saveData.limit_account_downloads" id="limit_account_downloads" type="text" value="" />
</input-dropdown>
<p class="help-block">{{ lang.t("Select the number of downloads that you permit to keep for each account.") }}</p>
</div>
</div>
<div class="form-group">
<label class="control-label col-md-3 col-sm-3 col-xs-12">{{ lang.t("Queue Priority Groups") }}</label>
<div class="col-md-9 col-sm-9 col-xs-12">
<a href="{{primaryURL}}/queuePriorities" class="btn btn-primary">{{ lang.t("Manage Queue Priority Groups") }}</a>
<p class="help-block">
{{ lang.t("Here you can manage all of the queue processes priority groups.") }}<br/>
</p>
</div>
</div>
<div class="form-group">
<label class="control-label col-md-3 col-sm-3 col-xs-12" for="directoriesQueuePriorities">{{ lang.t("Directory Queue Priority Group") }}</label>
<div class="col-md-9 col-sm-9 col-xs-12">
<select id="directoriesQueuePriorities" class="form-control" data-ng-options="queue_priority._id as queue_priority.name for queue_priority in queuePriorities" data-ng-model="saveData.directories_queue_priority"></select>
<p class="help-block">
{{ lang.t("Set the queue priority group assigned to a directory in relation to account download & restore queue priority groups.") }}
<a href="{{const.DOCS_ADMIN_URL}}/settings.html#performance" target="_blank">{{const.DOCS_ADMIN_URL}}/settings.html#performance</a>
</p>
</div>
</div>
<h2 class="col-md-offset-3 col-sm-offset-3 col-xs-offset-12">{{ lang.t("MySQL / MariaDB Settings") }}</h2>
<div class="form-group">
<label class="control-label col-md-3 col-sm-3 col-xs-12" for="mysqldump_max_packet">{{ lang.t("Dump max allowed packet") }}</label>
<div class="col-md-9 col-sm-9 col-xs-12">
<select class="form-control" id="mysqldump_max_packet" data-ng-options="mysqlpackets_option.value as mysqlpackets_option.label for mysqlpackets_option in mysqlpackets_options" data-ng-model="saveData.mysqldump_max_packet"></select>
<p class="help-block">{{ lang.t("The maximum packet length to send to or receive from server") }}</p>
</div>
</div>
<div class="form-group">
<label class="control-label col-md-3 col-sm-3 col-xs-12">{{ lang.t("Dump force flag") }}</label>
<div class="col-md-9 col-sm-9 col-xs-12">
<div class="pretty p-default p-round p-smooth">
<input type="radio" ng-model="saveData.mysqldump_force" id="mysqldump_force_1" ng-checked="saveData.mysqldump_force == 1" value="1" />
<div class="state p-primary"><label for="mysqldump_force_1">{{ lang.t("Yes") }}</label></div>
</div>
<div class="pretty p-default p-round p-smooth">
<input type="radio" ng-model="saveData.mysqldump_force" id="mysqldump_force_0" ng-checked="saveData.mysqldump_force == 0" value="0" />
<div class="state p-primary"><label for="mysqldump_force_0">{{ lang.t("No") }}</label></div>
</div>
<p class="help-block">{{ lang.t("Continue even if we get an SQL error") }}</p>
</div>
</div>
<div class="form-group">
<label class="control-label col-md-3 col-sm-3 col-xs-12">{{ lang.t("Dump opt flag") }}</label>
<div class="col-md-9 col-sm-9 col-xs-12">
<div class="pretty p-default p-round p-smooth">
<input type="radio" ng-model="saveData.mysqldump_opt" id="mysqldump_opt_1" ng-checked="saveData.mysqldump_opt == 1" value="1" />
<div class="state p-primary"><label for="mysqldump_opt_1">{{ lang.t("Yes") }}</label></div>
</div>
<div class="pretty p-default p-round p-smooth">
<input type="radio" ng-model="saveData.mysqldump_opt" id="mysqldump_opt_0" ng-checked="saveData.mysqldump_opt == 0" value="0" />
<div class="state p-primary"><label for="mysqldump_opt_0">{{ lang.t("No") }}</label></div>
</div>
<p class="help-block">{{ lang.t("Same as --add-drop-table, --add-locks, --create-options, --skip-opt.") }}</p>
</div>
</div>
<div class="form-group">
<label class="control-label col-md-3 col-sm-3 col-xs-12">{{ lang.t("Dump skip lock table flag") }}</label>
<div class="col-md-9 col-sm-9 col-xs-12">
<div class="pretty p-default p-round p-smooth">
<input type="radio" ng-model="saveData.mysqldump_skip_lock" id="mysqldump_skip_lock_1" ng-checked="saveData.mysqldump_skip_lock == 1" value="1" />
<div class="state p-primary"><label for="mysqldump_skip_lock_1">{{ lang.t("Yes") }}</label></div>
</div>
<div class="pretty p-default p-round p-smooth">
<input type="radio" ng-model="saveData.mysqldump_skip_lock" id="mysqldump_skip_lock_0" ng-checked="saveData.mysqldump_skip_lock == 0" value="0" />
<div class="state p-primary"><label for="mysqldump_skip_lock_0">{{ lang.t("No") }}</label></div>
</div>
<p class="help-block"></p>
</div>
</div>
<div class="form-group">
<label class="control-label col-md-3 col-sm-3 col-xs-12">{{ lang.t("Dump multibyte characters") }}</label>
<div class="col-md-9 col-sm-9 col-xs-12">
<div class="pretty p-default p-round p-smooth">
<input type="radio" ng-model="saveData.mysqldump_multibyte" id="mysqldump_multibyte_1" ng-checked="saveData.mysqldump_multibyte == 1" value="1" />
<div class="state p-primary"><label for="mysqldump_multibyte_1">{{ lang.t("Yes") }}</label></div>
</div>
<div class="pretty p-default p-round p-smooth">
<input type="radio" ng-model="saveData.mysqldump_multibyte" id="mysqldump_multibyte_0" ng-checked="saveData.mysqldump_multibyte == 0" value="0" />
<div class="state p-primary"><label for="mysqldump_multibyte_0">{{ lang.t("No") }}</label></div>
</div>
<p class="help-block"></p>
</div>
</div>
<div class="form-group">
<label class="control-label col-md-3 col-sm-3 col-xs-12" for="mysqldump_gtid_purged">{{ lang.t("Dump gtid purged") }}</label>
<div class="col-md-9 col-sm-9 col-xs-12">
<select class="form-control" id="mysqldump_gtid_purged" data-ng-options="gtidpurged_option.value as gtidpurged_option.label for gtidpurged_option in gtidpurged_options" data-ng-model="saveData.mysqldump_gtid_purged"></select>
<p class="help-block">
{{ lang.t("This option enables control over global transaction ID (GTID) information written to the dump file, by indicating whether to add a SET @@GLOBAL.gtid_purged statement to the output. This option may also cause SET @@SESSION.sql_log_bin=0 to be written to the output that disables binary logging while the dump file is being reloaded.SET @@SESSION.sql_log_bin=0 and @@GLOBAL.gtid_purged statements require SUPER privileges which may be unavailable in environments such as Amazon RDS.") }}
<br /><br />
{{ lang.t("Unless you have a specific requirement to change this option, we recommend keeping the DEFAULT or OFF values for the best performance and reliability.") }}
<br /><br />
{{ lang.t("NOTE: MariaDB and MySQL have different implementations of GTID which aren't compatible. If using MariaDB, only the DEFAULT option should be selected.") }}
</p>
</div>
</div>
</div>
</div>
</div>