function settings() { $tpl = new templates(); $page = CurrentPageName(); $q = new mysql_catz(); $users = new usersMenus(); $sock = new sockets(); $SquidDBTuningParameters = unserialize(base64_decode($sock->GET_INFO("MySQLCatzParams"))); $query_cache_size = $SquidDBTuningParameters["query_cache_size"]; $max_allowed_packet = $SquidDBTuningParameters["max_allowed_packet"]; $max_connections = $SquidDBTuningParameters["max_connections"]; $connect_timeout = $SquidDBTuningParameters["connect_timeout"]; $interactive_timeout = $SquidDBTuningParameters["interactive_timeout"]; $key_buffer_size = $SquidDBTuningParameters["key_buffer_size"]; $table_open_cache = $SquidDBTuningParameters["table_open_cache"]; $myisam_sort_buffer_size = $SquidDBTuningParameters["myisam_sort_buffer_size"]; $ListenPort = $SquidDBTuningParameters["ListenPort"]; $tmpdir = $SquidDBTuningParameters["tmpdir"]; if (!isset($SquidDBTuningParameters["net_read_timeout"])) { $SquidDBTuningParameters["net_read_timeout"] = 120; } $serverMem = round(($users->MEM_TOTAL_INSTALLEE - 300) / 1024); $VARIABLES = $q->SHOW_VARIABLES(); if (is_array($SquidDBTuningParameters)) { while (list($key, $value) = each($SquidDBTuningParameters)) { if (isset($SquidDBTuningParameters[$key])) { if ($GLOBALS["VERBOSE"]) { echo "VARIABLES[{$key}]={$VARIABLES[$key]} MySQLCatzParams[{$key}]={$SquidDBTuningParameters[$key]}<br>\n"; } if ($VARIABLES[$key] == null) { $VARIABLES[$key] = $SquidDBTuningParameters[$key]; } } } } $read_buffer_size = round($VARIABLES["read_buffer_size"] / 1024 / 1000, 2); $read_rnd_buffer_size = round($VARIABLES["read_rnd_buffer_size"] / 1024 / 1000, 2); $sort_buffer_size = round($VARIABLES["sort_buffer_size"] / 1024 / 1000, 2); $thread_stack = round($VARIABLES["thread_stack"] / 1024 / 1000, 2); $join_buffer_size = round($VARIABLES["join_buffer_size"] / 1024 / 1000, 2); $max_tmp_table_size = round($VARIABLES["max_tmp_table_size"] / 1024 / 1000, 2); $innodb_log_buffer_size = round($VARIABLES["innodb_log_buffer_size"] / 1024 / 1000, 2); $innodb_additional_mem_pool_size = round($VARIABLES["innodb_additional_mem_pool_size"] / 1024 / 1000, 2); $innodb_log_buffer_size = round($VARIABLES["innodb_log_buffer_size"] / 1024 / 1000, 2); $innodb_buffer_pool_size = round($VARIABLES["innodb_buffer_pool_size"] / 1024 / 1000, 2); $max_connections = $VARIABLES["max_connections"]; $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 * $max_connections; if ($total_per_thread_buffers > $serverMem) { $color = "#EB0000"; } $query_cache_size = round($VARIABLES["query_cache_size"] / 1024 / 1000, 2); $key_buffer_size = round($VARIABLES["key_buffer_size"] / 1024 / 1000, 2); if ($tmpdir == null) { $tmpdir = "/tmp"; } $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"; } if (!is_numeric($ListenPort)) { $ListenPort = 0; } $boot = new boostrap_form(); $boot->set_hidden("innodb_buffer_pool_size", $innodb_buffer_pool_size); $boot->set_hidden("innodb_additional_mem_pool_size", $innodb_additional_mem_pool_size); $boot->set_hidden("innodb_log_buffer_size", $innodb_log_buffer_size); $boot->set_spacertitle("{threads}:"); $boot->set_field("read_buffer_size", "{read_buffer_size} (MB)", $read_buffer_size, array("TOOLTIP" => "{read_buffer_size_text}")); $boot->set_field("read_rnd_buffer_size", "{read_rnd_buffer_size} (MB)", $read_rnd_buffer_size, array("TOOLTIP" => "{read_rnd_buffer_size_text}")); $boot->set_field("sort_buffer_size", "{sort_buffer_size} (MB)", $sort_buffer_size, array("TOOLTIP" => "{sort_buffer_size_text}")); $boot->set_field("thread_stack", "Thread Stack", $thread_stack, array("TOOLTIP" => "{thread_stack_text}")); $boot->set_spacertitle("{server}:"); $boot->set_field("ListenPort", "{listen_port}", $ListenPort); $boot->set_field("tmpdir", "{working_directory}", $tmpdir, array("BUTTON" => array("LABEL" => "{browse}", "JS" => "Loadjs('SambaBrowse.php?no-shares=yes&field=%f&no-hidden=yes')"))); $boot->set_field("net_read_timeout", "{net_read_timeout} ({seconds})", $SquidDBTuningParameters["net_read_timeout"]); $boot->set_field("max_connections", "{max_connections}", $max_connections); $boot->set_field("key_buffer_size", "{key_buffer_size} (MB)", $key_buffer_size); $boot->set_field("max_tmp_table_size", "MAX TMP Table size (MB)", $max_tmp_table_size); $boot->set_field("query_cache_size", "{query_cache_size} (MB)", $query_cache_size, array("TOOLTIP" => "{thread_stack_text}")); $boot->set_button("{apply}"); $boot->set_formdescription("{$server_buffers}M + {$total_per_thread_buffers}M = {$max_used_memory}{$UNIT}"); $html = $boot->Compile(); echo $tpl->_ENGINE_parse_body($html); }