Beispiel #1
0
function popup()
{
    $t = time();
    $instance_id = $_GET["instance_id"];
    $page = CurrentPageName();
    $tpl = new templates();
    $mysql = new mysqlserver();
    if ($instance_id > 0) {
        $mysql = new mysqlserver_multi($instance_id);
    }
    $users = new usersMenus();
    $serverMem = round(($users->MEM_TOTAL_INSTALLEE - 300) / 1024);
    $color = "black";
    $VARIABLES = $mysql->SHOW_VARIABLES();
    if (!is_numeric($mysql->main_array["max_connections"])) {
        $mysql->main_array["max_connections"] = $VARIABLES["max_connections"];
    }
    $read_buffer_size = $mysql->main_array["read_buffer_size"];
    if (!is_numeric($read_buffer_size)) {
        $read_buffer_size = $VARIABLES["read_buffer_size"] / 1024 / 1000;
    }
    $read_rnd_buffer_size = $mysql->main_array["read_rnd_buffer_size"];
    if (!is_numeric($read_rnd_buffer_size)) {
        $read_rnd_buffer_size = $VARIABLES["read_rnd_buffer_size"] / 1024 / 1000;
    }
    $sort_buffer_size = $mysql->main_array["sort_buffer_size"];
    if (!is_numeric($sort_buffer_size)) {
        $sort_buffer_size = $VARIABLES["sort_buffer_size"] / 1024 / 1000;
    }
    $thread_stack = $mysql->main_array["thread_stack"];
    if (!is_numeric($thread_stack)) {
        $thread_stack = $VARIABLES["thread_stack"] / 1024 / 1000;
    }
    $join_buffer_size = $mysql->main_array["join_buffer_size"];
    if (!is_numeric($join_buffer_size)) {
        $join_buffer_size = $VARIABLES["join_buffer_size"] / 1024 / 1000;
    }
    $per_thread_buffers = $sort_buffer_size + $read_rnd_buffer_size + $sort_buffer_size + $thread_stack + $join_buffer_size;
    $total_per_thread_buffers = $per_thread_buffers * $mysql->main_array["max_connections"];
    if ($total_per_thread_buffers > $serverMem) {
        $color = "#EB0000";
    }
    $key_buffer_size = $mysql->main_array["key_buffer_size"];
    if (!is_numeric($key_buffer_size)) {
        $key_buffer_size = $VARIABLES["key_buffer_size"] / 1024 / 1000;
    }
    $max_tmp_table_size = $mysql->main_array["max_tmp_table_size"];
    if (!is_numeric($max_tmp_table_size)) {
        $max_tmp_table_size = $VARIABLES["max_tmp_table_size"] / 1024 / 1000;
    }
    $innodb_buffer_pool_size = $mysql->main_array["innodb_buffer_pool_size"];
    if (!is_numeric($innodb_buffer_pool_size)) {
        $innodb_buffer_pool_size = $VARIABLES["innodb_buffer_pool_size"] / 1024 / 1000;
    }
    $innodb_additional_mem_pool_size = $mysql->main_array["innodb_additional_mem_pool_size"];
    if (!is_numeric($innodb_additional_mem_pool_size)) {
        $innodb_additional_mem_pool_size = $VARIABLES["innodb_additional_mem_pool_size"] / 1024 / 1000;
    }
    $innodb_log_buffer_size = $mysql->main_array["innodb_log_buffer_size"];
    if (!is_numeric($innodb_log_buffer_size)) {
        $innodb_log_buffer_size = $VARIABLES["innodb_log_buffer_size"] / 1024 / 1000;
    }
    $query_cache_size = $mysql->main_array["query_cache_size"];
    if (!is_numeric($query_cache_size)) {
        $query_cache_size = $VARIABLES["query_cache_size"] / 1024 / 1000;
    }
    $server_buffers = $key_buffer_size + $max_tmp_table_size + $innodb_buffer_pool_size + $innodb_additional_mem_pool_size + $innodb_log_buffer_size + $query_cache_size;
    if ($server_buffers > $serverMem) {
        $color = "#EB0000";
    }
    $max_used_memory = $server_buffers + $total_per_thread_buffers;
    if ($max_used_memory > $serverMem) {
        $color = "#EB0000";
    }
    $UNIT = "M";
    if ($max_used_memory > 1000) {
        $max_used_memory = round($max_used_memory / 1000, 2);
        $UNIT = "G";
    }
    $html = "\n\t<div id='{$t}-form'>\n\t<table width=99% class=form>\n\t<tr>\n\t\t<td colspan=2><div style='font-size:18px'>{threads}:</td>\n\t</tr>\t\n\t<tr>\n\t\t<td class=legend style='font-size:16px'>{read_buffer_size}:</td>\n\t\t<td style='font-size:16px'>" . Field_text("{$t}-read_buffer_size", $read_buffer_size, "font-size:16px;width:60px;padding:3px") . "&nbsp;M</td>\n\t</tr>\n\t\n\t<tr>\n\t\t<td class=legend style='font-size:16px'>{read_rnd_buffer_size}:</td>\n\t\t<td style='font-size:16px'>" . Field_text("{$t}-read_rnd_buffer_size", $read_rnd_buffer_size, "font-size:16px;width:60px;padding:3px") . "&nbsp;M</td>\n\t</tr>\n\t\n\t<tr>\t\n\t\t<td class=legend style='font-size:16px'>{sort_buffer_size}:</td>\n\t\t<td style='font-size:16px'>" . Field_text("{$t}-sort_buffer_size", $sort_buffer_size, "font-size:16px;width:60px;padding:3px") . "&nbsp;M</td>\n\t</tr>\t\n\t\t\n\t<tr>\n\t\t<td class=legend style='font-size:16px'>thread_stack:</td>\n\t\t<td style='font-size:16px'>" . Field_text("{$t}-thread_stack", $thread_stack, "font-size:16px;width:60px;padding:3px") . "&nbsp;M</td>\n\t</tr>\n\t\n\t<tr>\n\t\t<td colspan=2><hr></td>\n\t</tr>\t\n\t<tr>\n\t\t<td class=legend style='font-size:16px'>{total_per_thread_buffers}:</td>\n\t\t<td style='font-size:22px' nowrap><div id='per_thread_buffers'><span style='color:{$color}'>{$per_thread_buffers}&nbsp;M x {$mysql->main_array["max_connections"]} = {$total_per_thread_buffers}M</span></div></td>\n\t</tr>\n</table>\n\t<table width=99% class=form>\t\n\t<tr>\n\t\t<td colspan=2><div style='font-size:18px'>{server}:</td>\n\t</tr>\t\n\t<tr>\n\t\t<td class=legend style='font-size:16px'>{key_buffer_size}:</td>\n\t\t<td style='font-size:16px'>" . Field_text("{$t}-key_buffer_size", $key_buffer_size, "font-size:16px;width:60px;padding:3px") . "&nbsp;M</td>\n\t</tr>\t\n\t<tr>\n\t\t<td class=legend style='font-size:16px'>max_tmp_table_size:</td>\n\t\t<td style='font-size:16px'>" . Field_text("{$t}-max_tmp_table_size", $max_tmp_table_size, "font-size:16px;width:60px;padding:3px") . "&nbsp;M</td>\n\t</tr>\n\t<tr>\n\t\t<td class=legend style='font-size:16px'>{innodb_buffer_pool_size}:</td>\n\t\t<td style='font-size:16px'>" . Field_text("{$t}-innodb_buffer_pool_size", $innodb_buffer_pool_size, "font-size:16px;width:60px;padding:3px") . "&nbsp;M</td>\n\t</tr>\n\t<tr>\n\t\t<td class=legend style='font-size:16px'>{innodb_additional_mem_pool_size}:</td>\n\t\t<td style='font-size:16px'>" . Field_text("{$t}-innodb_additional_mem_pool_size", $innodb_additional_mem_pool_size, "font-size:16px;width:60px;padding:3px") . "&nbsp;M</td>\n\t</tr>\t\n\t<tr>\n\t\t<td class=legend style='font-size:16px'>{innodb_log_buffer_size}:</td>\n\t\t<td style='font-size:16px'>" . Field_text("{$t}-innodb_log_buffer_size", $innodb_log_buffer_size, "font-size:16px;width:60px;padding:3px") . "&nbsp;M</td>\n\t</tr>\t\t\n\t<tr>\n\t\t<td class=legend style='font-size:16px'>{query_cache_size}:</td>\n\t\t<td style='font-size:16px'>" . Field_text("{$t}-query_cache_size", $query_cache_size, "font-size:16px;width:60px;padding:3px") . "&nbsp;M</td>\n\t</tr>\n\t<tr>\n\t\t<td class=legend style='font-size:16px'>{server_buffers}:</td>\n\t\t<td style='font-size:22px' align='right'><div id='server_buffers'><span style='color:{$color}'>{$server_buffers}M</span></div></td>\n\t</tr>\t\t\t\t\t\n\t<tr>\n\t\t<td class=legend style='font-size:16px'>{max_connections}:</td>\n\t\t<td style='font-size:16px'>" . Field_text("{$t}-max_connections", $mysql->main_array["max_connections"], "font-size:16px;width:60px;padding:3px") . "&nbsp;</td>\n\t</tr>\n\t<tr>\n\t\t<td colspan=2><hr></td>\n\t</tr>\t\n\t\n\t<tr>\n\t\t<td class=legend style='font-size:16px'>{total_memory}:</td>\n\t\t<td style='font-size:22px' align='right' nowrap><div id='total_memory'><span style='color:{$color}'>{$server_buffers}M + {$total_per_thread_buffers}M = {$max_used_memory}{$UNIT}</span></div></td>\n\t</tr>\t\n\t<tr>\n\t\t<td colspan=2 align='right'><hr></td>\n\t</tr>\n\t<tr>\n\t<td>" . button("{calculate}", "ParseFormCalc{$t}()", "16px") . "</td>\n\t<td align='right'>" . button("{apply}", "ParseFormSave{$t}()", "16px") . "</td>\n\t</table>\n\t\n\t</div>       \n\t<script>\n\t\n\tvar x_per_thread_buffers= function (obj) {\n\t\tvar results=obj.responseText;\n\t\tif(results.length>0){document.getElementById('per_thread_buffers').innerHTML=results;}\n\t\tParseFormCalc2{$t}();\n\t}\n\tvar x_server_buffers= function (obj) {\n\t\tvar results=obj.responseText;\n\t\tif(results.length>0){document.getElementById('server_buffers').innerHTML=results;}\n\t\tParseFormCalc3{$t}();\n\t}\t\n\tvar x_total_memory= function (obj) {\n\t\tvar results=obj.responseText;\n\t\tif(results.length>0){document.getElementById('total_memory').innerHTML=results;}\n\t}\t\n\t\n\t\n\t\n\t\tfunction ParseFormCalc{$t}(){\n\t\t\tvar XHR=GetDatas();\n\t\t\tXHR.appendData('per_thread_buffers','yes');\n\t\t\tdocument.getElementById('per_thread_buffers').innerHTML='<img src=\"img/loadingAnimation.gif\">';\n\t\t\tdocument.getElementById('server_buffers').innerHTML='<img src=\"img/loadingAnimation.gif\">';\n\t\t\tdocument.getElementById('total_memory').innerHTML='<img src=\"img/loadingAnimation.gif\">';\n\t\t\t\n\t\t\tXHR.sendAndLoad('{$page}', 'POST',x_per_thread_buffers);\t\n\t\t}\n\t\t\n\t\tfunction ParseFormCalc2{$t}(){\n\t\t\tvar XHR=GetDatas();\n\t\t\tXHR.appendData('server_buffers','yes');\n\t\t\tXHR.sendAndLoad('{$page}', 'POST',x_server_buffers);\t\n\t\t}\t\n\n\t\tfunction ParseFormCalc3{$t}(){\n\t\t\tvar XHR=GetDatas();\n\t\t\tXHR.appendData('total_memory','yes');\n\t\t\tXHR.sendAndLoad('{$page}', 'POST',x_total_memory);\t\n\t\t}\t\n\n\tvar x_ParseFormSave{$t}= function (obj) {\n\t\tvar results=obj.responseText;\n\t\tYahooWin4Hide();\n\t\tCacheOff();\n\t\t\n\t}\t\t\t\n\t\t\n\t\tfunction ParseFormSave{$t}(){\n\t\t\tvar XHR=GetDatas();\n\t\t\tXHR.appendData('instance-id','{$instance_id}');\n\t\t\tAnimateDiv('{$t}-form');\n\t\t\tXHR.sendAndLoad('{$page}', 'POST',x_ParseFormSave{$t});\n\t\t}\n\t\t\n\t\tfunction GetDatas(){\n\t\t\tvar XHR = new XHRConnection();\n\t\t\tXHR.appendData('read_buffer_size',document.getElementById('{$t}-read_buffer_size').value);\n\t\t\tXHR.appendData('read_rnd_buffer_size',document.getElementById('{$t}-read_rnd_buffer_size').value);\n\t\t\tXHR.appendData('sort_buffer_size',document.getElementById('{$t}-sort_buffer_size').value);\n\t\t\tXHR.appendData('thread_stack',document.getElementById('{$t}-thread_stack').value);\n\t\t\t\n\t\t\tXHR.appendData('key_buffer_size',document.getElementById('{$t}-key_buffer_size').value);\n\t\t\tXHR.appendData('max_tmp_table_size',document.getElementById('{$t}-max_tmp_table_size').value);\n\t\t\tXHR.appendData('innodb_buffer_pool_size',document.getElementById('{$t}-innodb_buffer_pool_size').value);\n\t\t\tXHR.appendData('innodb_additional_mem_pool_size',document.getElementById('{$t}-innodb_additional_mem_pool_size').value);\n\t\t\tXHR.appendData('innodb_log_buffer_size',document.getElementById('{$t}-innodb_log_buffer_size').value);\n\t\t\tXHR.appendData('query_cache_size',document.getElementById('{$t}-query_cache_size').value);\n\t\t\tXHR.appendData('max_connections',document.getElementById('{$t}-max_connections').value);\t\t\t\n\t\t\treturn XHR;\n\t\t\t\n\t\t}\n\t\n\t</script>\n\t\n\t";
    echo $tpl->_ENGINE_parse_body($html);
}