pgbench-size-to-scale
by kmoppel
HTML
<h3>pgbench (PostgreSQL) size-to-scale calculator. Blog post with more info <a href="https://www.cybertec-postgresql.com/en/a-formula-to-calculate-pgbench-scaling-factor-for-target-db-size/" target="_blank">here</a>.</h></h3>
<table>
<tr>
<td>Target DB size:</td>
<td><input type="text" id="db_size" /></td>
<td>
<select id="db_unit">
<option value="gb" selected>GiB</option>
<option value="mb">MiB</option>
</select>
</td>
<td><input type="button" id="from_db_size" value="Calculate Scale" /></td>
<td>Scale:</td>
<td><input id="db_scale" type="text" readonly /></td>
</tr>
<tr>
<td>Target Table size:</td>
<td><input type="text" id="table_size" /></td>
<td>
<select id="table_unit">
<option value="gb" selected>GiB</option>
<option value="mb">MiB</option>
</select>
</td>
<td><input type="button" id="from_table_size" value="Calculate Scale" /></td>
<td>Scale:</td>
<td><input id="table_scale" type="text" readonly /></td>
</tr>
<tr>
<td>Target Index size:</td>
<td><input type="text" id="index_size" /></td>
<td>
<select id="index_unit">
<option value="gb" selected>GiB</option>
<option value="mb">MiB</option>
</select>
</td>
<td><input type="button" id="from_index_size" value="Calculate Scale" /></td>
<td>Scale:</td>
<td><input id="index_scale" type="text" readonly /></td>
</tr>
</table>
JavaScript
$(function() {
$('#from_db_size').click(function() {
var size_mb = parseInt($('#db_size').val());
if ($('#db_unit').val() == 'gb')
size_mb = size_mb * 1024;
var scale = Math.round(0.06689 * size_mb - 0.5);
$('#db_scale').val(scale);
});
$('#from_table_size').click(function() {
var size_mb = parseInt($('#table_size').val());
if ($('#table_unit').val() == 'gb')
size_mb = size_mb * 1024;
var scale = Math.round(0.0781 * size_mb);
$('#table_scale').val(scale);
});
$('#from_index_size').click(function() {
var size_mb = parseInt($('#index_size').val());
if ($('#index_unit').val() == 'gb')
size_mb = size_mb * 1024;
var scale = Math.round(0.4668 * size_mb);
$('#index_scale').val(scale);
});
})