글 수정

작성자 본인만 수정할 수 있습니다

← 홈으로
익명 · 2024.02.16 · 조회 7,428
mariadb / mysql
<p>//커스텀 시작 {</p><p><br></p><p>//max connection설정 -chatgpt</p><p>$max_con_setting = $_POST['max_con_setting']; // 사용자가 입력한 max connection 값</p><p>$sql = "SET GLOBAL max_connections = " . $max_con_setting;</p><p>$result = sql_query($sql);</p><p><br></p><p>//if ($result) {</p><p>// &nbsp; &nbsp;echo "max connection 설정이 성공적으로 변경되었습니다.";</p><p>//} else {</p><p>// &nbsp; &nbsp;echo "max connection 설정 변경에 실패했습니다.";</p><p>//}</p><p>//max connection설정끝</p><p><br></p><p><br></p><p>//트랜잭션설정 -chatgpt</p><p>$isolation_setting = $_POST['isolation_setting']; // 사용자가 선택한 트랜잭션 수준 값</p><p>$sql = "SET GLOBAL tx_isolation = '" . $isolation_setting . "'";</p><p>$result = sql_query($sql);</p><p><br></p><p>//if ($result === false) {</p><p>// &nbsp; &nbsp;echo "트랜잭션 수준 변경에 실패했습니다.";</p><p>//} else {</p><p>// &nbsp; &nbsp;echo "트랜잭션 수준이 성공적으로 변경되었습니다.";</p><p>//}</p><p>//트랜잭션설정끝</p><p><br></p><p><br></p><p>//innodb_flush.Jog.at_trx_commit -chatgpt</p><p>if ($_SERVER['REQUEST_METHOD'] === 'POST' &amp;&amp; isset($_POST['innodb_flush_log_at_trx_commit'])) {</p><p>&nbsp; &nbsp; $innodb_flush_log_at_trx_commit = intval($_POST['innodb_flush_log_at_trx_commit']);</p><p><br></p><p>&nbsp; &nbsp; $sql = "SET GLOBAL innodb_flush_log_at_trx_commit = {$innodb_flush_log_at_trx_commit}";</p><p>&nbsp; &nbsp; $result = sql_query($sql);</p><p><br></p><p>&nbsp; &nbsp; if ($result) {</p><p>&nbsp; &nbsp; &nbsp; &nbsp; $message = "innodb_flush_log_at_trx_commit 설정값이 수정되었습니다.";</p><p>&nbsp; &nbsp; } else {</p><p>&nbsp; &nbsp; &nbsp; &nbsp; $message = "innodb_flush_log_at_trx_commit 설정값 수정에 실패했습니다.";</p><p>&nbsp; &nbsp; }</p><p>&nbsp; &nbsp; echo '&lt;script&gt;alert("' . $message . '");&lt;/script&gt;';</p><p>&nbsp; &nbsp; echo '&lt;meta http-equiv="refresh" content="0; url=./performance.php"&gt;';</p><p>&nbsp; &nbsp; exit;</p><p>}</p><p>$sql = "SHOW GLOBAL VARIABLES LIKE 'innodb_flush_log_at_trx_commit'";</p><p>$result = sql_query($sql);</p><p>if ($result) {</p><p>&nbsp; &nbsp; $row = mysqli_fetch_assoc($result);</p><p>&nbsp; &nbsp; $innodb_flush_log_at_trx_commit = $row['Value'];</p><p>}</p><p>//innodb_flush.Jog.at_trx_commit</p><p><br></p><p>//wait timeout -chatgpt</p><p>if ($_POST['cmd'] == 'modify_wait_timeout') {</p><p>&nbsp; &nbsp; $wait_timeout_setting = (int)$_POST['wait_timeout_setting'];</p><p>&nbsp; &nbsp; $sql = "SET GLOBAL wait_timeout = " . $wait_timeout_setting;</p><p>&nbsp; &nbsp; $result = sql_query($sql);</p><p>&nbsp; &nbsp; if ($result) {</p><p>&nbsp; &nbsp; &nbsp; &nbsp; echo '&lt;script&gt;alert("wait timeout이 수정되었습니다.");&lt;/script&gt;';</p><p>&nbsp; &nbsp; } else {</p><p>&nbsp; &nbsp; &nbsp; &nbsp; echo '&lt;script&gt;alert("wait timeout 수정에 실패했습니다.");&lt;/script&gt;';</p><p>&nbsp; &nbsp; }</p><p>}</p><p>//wait timeout</p><p><br></p><p><br></p><p>//innodb buffer pool size -chatgpt</p><p>// innodb buffer pool size 설정값 안내</p><p>$innodb_buffer_pool_size_info = sql_fetch("SHOW VARIABLES LIKE 'innodb_buffer_pool_size' ");</p><p>$innodb_buffer_pool_size = $innodb_buffer_pool_size_info['Value'];</p><p><br></p><p>// 설정값에 따른 안내 문구</p><p>if ($innodb_buffer_pool_size &lt; 536870912) { // 512MB</p><p>&nbsp; &nbsp; $innodb_buffer_pool_size_desc = "현재 설정된 innodb buffer pool size는 작은 편입니다. 추천 설정값은 512MB 이상입니다.";</p><p>} elseif ($innodb_buffer_pool_size &lt; 1073741824) { // 1GB</p><p>&nbsp; &nbsp; $innodb_buffer_pool_size_desc = "현재 설정된 innodb buffer pool size는 적절한 크기입니다. 추천 설정값은 1GB 이상입니다.";</p><p>} else {</p><p>&nbsp; &nbsp; $innodb_buffer_pool_size_desc = "현재 설정된 innodb buffer pool size는 큰 편입니다. 작은 사이트에서는 1GB 이상, 대형 사이트에서는 2GB 이상으로 설정하는 것을 권장합니다.";</p><p>}</p><p>if ($_POST['cmd'] == 'modify_innodb_buffer_pool_size') {</p><p>&nbsp; &nbsp; $innodb_buffer_pool_size = (int)$_POST['innodb_buffer_pool_size'];</p><p>&nbsp; &nbsp; $innodb_buffer_pool_size_unit = $_POST['innodb_buffer_pool_size_unit'];</p><p>&nbsp; &nbsp; $multiplier = [</p><p>&nbsp; &nbsp; &nbsp; &nbsp; 'B' =&gt; 1,</p><p>&nbsp; &nbsp; &nbsp; &nbsp; 'KB' =&gt; 1024,</p><p>&nbsp; &nbsp; &nbsp; &nbsp; 'MB' =&gt; 1024 * 1024,</p><p>&nbsp; &nbsp; &nbsp; &nbsp; 'GB' =&gt; 1024 * 1024 * 1024,</p><p>&nbsp; &nbsp; &nbsp; &nbsp; 'TB' =&gt; 1024 * 1024 * 1024 * 1024,</p><p>&nbsp; &nbsp; ];</p><p>&nbsp; &nbsp; $innodb_buffer_pool_size = $innodb_buffer_pool_size * $multiplier[$innodb_buffer_pool_size_unit];</p><p>&nbsp; &nbsp; $sql = "SET GLOBAL innodb_buffer_pool_size = " . $innodb_buffer_pool_size;</p><p>&nbsp; &nbsp; $result = sql_query($sql);</p><p>&nbsp; &nbsp; if ($result) {</p><p>&nbsp; &nbsp; &nbsp; &nbsp; echo '&lt;script&gt;alert("innodb buffer pool size가 수정되었습니다.");&lt;/script&gt;';</p><p>&nbsp; &nbsp; } else {</p><p>&nbsp; &nbsp; &nbsp; &nbsp; echo '&lt;script&gt;alert("innodb buffer pool size 수정에 실패했습니다.");&lt;/script&gt;';</p><p>&nbsp; &nbsp; }</p><p>}</p><p>//innodb buffer pool size 끝</p><p><br></p><p>//쿼리 캐시 설정 -chatgpt</p><p>$sql = "SET GLOBAL query_cache_type = '" . $query_cache_setting . "'";</p><p>$result = sql_query($sql);</p><p>//쿼리 캐시 설정</p><p><br></p><p><br></p><p>//key buffer size -chatgpt</p><p>// key buffer size 설정값 안내</p><p>$key_buffer_size_info = sql_fetch("SHOW VARIABLES LIKE 'key_buffer_size' ");</p><p>$key_buffer_size = $key_buffer_size_info['Value'];</p><p><br></p><p>// 설정값에 따른 안내 문구</p><p>if ($key_buffer_size &lt; 536870912) { // 512MB</p><p>&nbsp; &nbsp; $key_buffer_size_desc = "현재 설정된 key buffer size는 작은 편입니다. 추천 설정값은 512MB 이상입니다.";</p><p>} elseif ($key_buffer_size &lt; 1073741824) { // 1GB</p><p>&nbsp; &nbsp; $key_buffer_size_desc = "현재 설정된 key buffer size는 적절한 크기입니다. 추천 설정값은 1GB 이상입니다.";</p><p>} else {</p><p>&nbsp; &nbsp; $key_buffer_size_desc = "현재 설정된 key buffer size는 큰 편입니다. 작은 사이트에서는 1GB 이상, 대형 사이트에서는 2GB 이상으로 설정하는 것을 권장합니다.";</p><p>}</p><p><br></p><p>// key buffer size 설정 변경</p><p>if ($_POST['cmd'] == 'modify_key_buffer_size') {</p><p>&nbsp; &nbsp; $key_buffer_size_setting = $_POST['key_buffer_size'];</p><p>&nbsp; &nbsp; $sql = "SET GLOBAL key_buffer_size = " . $key_buffer_size_setting;</p><p>&nbsp; &nbsp; $result = sql_query($sql);</p><p>&nbsp; &nbsp; if ($result) {</p><p>&nbsp; &nbsp; &nbsp; &nbsp; echo '&lt;script&gt;alert("key buffer size가 수정되었습니다.");&lt;/script&gt;';</p><p>&nbsp; &nbsp; } else {</p><p>&nbsp; &nbsp; &nbsp; &nbsp; echo '&lt;script&gt;alert("key buffer size 수정에 실패했습니다.");&lt;/script&gt;';</p><p>&nbsp; &nbsp; }</p><p>}</p><p>//key buffer size</p><p><br></p><p><br></p><p>//join buffer size -chatgpt</p><p>// join buffer size 설정값 안내</p><p>$join_buffer_size_info = sql_fetch("SHOW VARIABLES LIKE 'join_buffer_size' ");</p><p>$join_buffer_size = $join_buffer_size_info['Value'];</p><p><br></p><p>// 설정값에 따른 안내 문구</p><p>if ($join_buffer_size &lt; 1048576) { // 1MB</p><p>&nbsp; &nbsp; $join_buffer_size_desc = "현재 설정된 join buffer size는 작은 편입니다. 추천 설정값은 1MB 이상입니다.";</p><p>} elseif ($join_buffer_size &lt; 16777216) { // 16MB</p><p>&nbsp; &nbsp; $join_buffer_size_desc = "현재 설정된 join buffer size는 적절한 크기입니다. 추천 설정값은 16MB 이상입니다.";</p><p>} else {</p><p>&nbsp; &nbsp; $join_buffer_size_desc = "현재 설정된 join buffer size는 큰 편입니다. 작은 사이트에서는 16MB 이상, 대형 사이트에서는 32MB 이상으로 설정하는 것을 권장합니다.";</p><p>}</p><p><br></p><p>// join buffer size 설정 변경</p><p>if ($_POST['cmd'] == 'modify_join_buffer_size') {</p><p>&nbsp; &nbsp; $join_buffer_size_setting = $_POST['join_buffer_size'];</p><p>&nbsp; &nbsp; $sql = "SET GLOBAL join_buffer_size = " . $join_buffer_size_setting;</p><p>&nbsp; &nbsp; $result = sql_query($sql);</p><p>&nbsp; &nbsp; if ($result) {</p><p>&nbsp; &nbsp; &nbsp; &nbsp; echo '&lt;script&gt;alert("join buffer size가 수정되었습니다.");&lt;/script&gt;';</p><p>&nbsp; &nbsp; } else {</p><p>&nbsp; &nbsp; &nbsp; &nbsp; echo '&lt;script&gt;alert("join buffer size 수정에 실패했습니다.");&lt;/script&gt;';</p><p>&nbsp; &nbsp; }</p><p>}</p><p>//join buffer size</p><p><br></p><p>//sort buffer size -chatgpt</p><p>// sort buffer size 설정값 안내</p><p>$sort_buffer_size_info = sql_fetch("SHOW VARIABLES LIKE 'sort_buffer_size' ");</p><p>$sort_buffer_size = $sort_buffer_size_info['Value'];</p><p><br></p><p>// 설정값에 따른 안내 문구</p><p>if ($sort_buffer_size &lt; 262144) { // 256KB</p><p>&nbsp; &nbsp; $sort_buffer_size_desc = "현재 설정된 sort buffer size는 작은 편입니다. 추천 설정값은 256KB 이상입니다.";</p><p>} elseif ($sort_buffer_size &lt; 2097152) { // 2MB</p><p>&nbsp; &nbsp; $sort_buffer_size_desc = "현재 설정된 sort buffer size는 적절한 크기입니다. 추천 설정값은 2MB 이상입니다.";</p><p>} else {</p><p>&nbsp; &nbsp; $sort_buffer_size_desc = "현재 설정된 sort buffer size는 큰 편입니다. 작은 사이트에서는 2MB 이상, 대형 사이트에서는 4MB 이상으로 설정하는 것을 권장합니다.";</p><p>}</p><p><br></p><p>// sort buffer size 설정 변경</p><p>if ($_POST['cmd'] == 'modify_sort_buffer_size') {</p><p>&nbsp; &nbsp; $sort_buffer_size_setting = $_POST['sort_buffer_size'];</p><p>&nbsp; &nbsp; $sql = "SET GLOBAL sort_buffer_size = " . $sort_buffer_size_setting;</p><p>&nbsp; &nbsp; $result = sql_query($sql);</p><p>&nbsp; &nbsp; if ($result) {</p><p>&nbsp; &nbsp; &nbsp; &nbsp; echo '&lt;script&gt;alert("sort buffer size가 수정되었습니다.");&lt;/script&gt;';</p><p>&nbsp; &nbsp; } else {</p><p>&nbsp; &nbsp; &nbsp; &nbsp; echo '&lt;script&gt;alert("sort buffer size 수정에 실패했습니다.");&lt;/script&gt;';</p><p>&nbsp; &nbsp; }</p><p>}</p><p>//sort buffer size</p><p><br></p><p><br></p><p>//쿼리프로세스 목록 -chatgpt</p><p>$process_list = sql_query("SHOW PROCESSLIST");</p><p>//쿼리프로세스 목록</p><p><br></p><p>//커스텀 끝</p>