亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? perf-mysql.inc.php

?? 一個bug追蹤工具的PHP編寫的源代碼
?? PHP
字號:
<?php/*V4.60 24 Jan 2005  (c) 2000-2005 John Lim (jlim@natsoft.com.my). All rights reserved.  Released under both BSD license and Lesser GPL library license.  Whenever there is any discrepancy between the two licenses,  the BSD license will take precedence. See License.txt.  Set tabs to 4 for best viewing.  Latest version is available at http://adodb.sourceforge.net  Library for basic performance monitoring and tuning*/// security - hide pathsif (!defined('ADODB_DIR')) die();class perf_mysql extends adodb_perf{	var $tablesSQL = 'show table status';	var $createTableSQL = "CREATE TABLE adodb_logsql (		  created datetime NOT NULL,		  sql0 varchar(250) NOT NULL,		  sql1 text NOT NULL,		  params text NOT NULL,		  tracer text NOT NULL,		  timer decimal(16,6) NOT NULL		)";	var $settings = array(	'Ratios',		'MyISAM cache hit ratio' => array('RATIO',			'=GetKeyHitRatio',			'=WarnCacheRatio'),		'InnoDB cache hit ratio' => array('RATIO',			'=GetInnoDBHitRatio',			'=WarnCacheRatio'),		'data cache hit ratio' => array('HIDE', # only if called			'=FindDBHitRatio',			'=WarnCacheRatio'),		'sql cache hit ratio' => array('RATIO',			'=GetQHitRatio',			''),	'IO',		'data reads' => array('IO',			'=GetReads',			'Number of selects (Key_reads is not accurate)'),		'data writes' => array('IO',			'=GetWrites',			'Number of inserts/updates/deletes * coef (Key_writes is not accurate)'),	'Data Cache',		'MyISAM data cache size' => array('DATAC',			array("show variables", 'key_buffer_size'),			'' ),		'BDB data cache size' => array('DATAC',			array("show variables", 'bdb_cache_size'),			'' ),		'InnoDB data cache size' => array('DATAC',			array("show variables", 'innodb_buffer_pool_size'),			'' ),	'Memory Usage',		'read buffer size' => array('CACHE',			array("show variables", 'read_buffer_size'),			'(per session)'),		'sort buffer size' => array('CACHE',			array("show variables", 'sort_buffer_size'),			'Size of sort buffer (per session)' ),		'table cache' => array('CACHE',			array("show variables", 'table_cache'),			'Number of tables to keep open'),	'Connections',		'current connections' => array('SESS',			array('show status','Threads_connected'),			''),		'max connections' => array( 'SESS',			array("show variables",'max_connections'),			''),		false	);	function perf_mysql(&$conn)	{		$this->conn =& $conn;	}	function Explain($sql,$partial=false)	{		if (strtoupper(substr(trim($sql),0,6)) !== 'SELECT') return '<p>Unable to EXPLAIN non-select statement</p>';		$save = $this->conn->LogSQL(false);		if ($partial) {			$sqlq = $this->conn->qstr($sql.'%');			$arr = $this->conn->GetArray("select distinct sql1 from adodb_logsql where sql1 like $sqlq");			if ($arr) {				foreach($arr as $row) {					$sql = reset($row);					if (crc32($sql) == $partial) break;				}			}		}		$sql = str_replace('?',"''",$sql);		if ($partial) {			$sqlq = $this->conn->qstr($sql.'%');			$sql = $this->conn->GetOne("select sql1 from adodb_logsql where sql1 like $sqlq");		}		$s = '<p><b>Explain</b>: '.htmlspecialchars($sql).'</p>';		$rs = $this->conn->Execute('EXPLAIN '.$sql);		$s .= rs2html($rs,false,false,false,false);		$this->conn->LogSQL($save);		$s .= $this->Tracer($sql);		return $s;	}	function Tables()	{		if (!$this->tablesSQL) return false;		$rs = $this->conn->Execute($this->tablesSQL);		if (!$rs) return false;		$html = rs2html($rs,false,false,false,false);		return $html;	}	function GetReads()	{	global $ADODB_FETCH_MODE;		$save = $ADODB_FETCH_MODE;		$ADODB_FETCH_MODE = ADODB_FETCH_NUM;		$rs = $this->conn->Execute('show status');		$ADODB_FETCH_MODE = $save;		if (!$rs) return 0;		$val = 0;		while (!$rs->EOF) {			switch($rs->fields[0]) {			case 'Com_select':				$val = $rs->fields[1];				$rs->Close();				return $val;			}			$rs->MoveNext();		}		$rs->Close();		return $val;	}	function GetWrites()	{	global $ADODB_FETCH_MODE;		$save = $ADODB_FETCH_MODE;		$ADODB_FETCH_MODE = ADODB_FETCH_NUM;		$rs = $this->conn->Execute('show status');		$ADODB_FETCH_MODE = $save;		if (!$rs) return 0;		$val = 0.0;		while (!$rs->EOF) {			switch($rs->fields[0]) {			case 'Com_insert':				$val += $rs->fields[1]; break;			case 'Com_delete':				$val += $rs->fields[1]; break;			case 'Com_update':				$val += $rs->fields[1]/2;				$rs->Close();				return $val;			}			$rs->MoveNext();		}		$rs->Close();		return $val;	}	function FindDBHitRatio()	{		// first find out type of table		//$this->conn->debug=1;		$rs = $this->conn->Execute('show table status');		if (!$rs) return '';		$type = strtoupper($rs->fields[1]);		$rs->Close();		switch($type){		case 'MYISAM':		case 'ISAM':			return $this->DBParameter('MyISAM cache hit ratio').' (MyISAM)';		case 'INNODB':			return $this->DBParameter('InnoDB cache hit ratio').' (InnoDB)';		default:			return $type.' not supported';		}	}	function GetQHitRatio()	{		//Total number of queries = Qcache_inserts + Qcache_hits + Qcache_not_cached		$hits = $this->_DBParameter(array("show status","Qcache_hits"));		$total = $this->_DBParameter(array("show status","Qcache_inserts"));		$total += $this->_DBParameter(array("show status","Qcache_not_cached"));		$total += $hits;		if ($total) return ($hits*100)/$total;		return 0;	}	/*		Use session variable to store Hit percentage, because MySQL		does not remember last value of SHOW INNODB STATUS hit ratio		# 1st query to SHOW INNODB STATUS		0.00 reads/s, 0.00 creates/s, 0.00 writes/s		Buffer pool hit rate 1000 / 1000		# 2nd query to SHOW INNODB STATUS		0.00 reads/s, 0.00 creates/s, 0.00 writes/s		No buffer pool activity since the last printout	*/	function GetInnoDBHitRatio()	{	global $HTTP_SESSION_VARS;		$rs = $this->conn->Execute('show innodb status');		if (!$rs || $rs->EOF) return 0;		$stat = $rs->fields[0];		$rs->Close();		$at = strpos($stat,'Buffer pool hit rate');		$stat = substr($stat,$at,200);		if (preg_match('!Buffer pool hit rate\s*([0-9]*) / ([0-9]*)!',$stat,$arr)) {			$val = 100*$arr[1]/$arr[2];			$HTTP_SESSION_VARS['INNODB_HIT_PCT'] = $val;			return $val;		} else {			if (isset($HTTP_SESSION_VARS['INNODB_HIT_PCT'])) return $HTTP_SESSION_VARS['INNODB_HIT_PCT'];			return 0;		}		return 0;	}	function GetKeyHitRatio()	{		$hits = $this->_DBParameter(array("show status","Key_read_requests"));		$reqs = $this->_DBParameter(array("show status","Key_reads"));		if ($reqs == 0) return 0;		return ($hits/($reqs+$hits))*100;	}}?>

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产一区二区免费在线| 国产精品一区2区| 国产一区二区三区四区五区入口| 成人a免费在线看| 欧美变态tickling挠脚心| 亚洲精品国产a| 美美哒免费高清在线观看视频一区二区| 国产91高潮流白浆在线麻豆| 日韩限制级电影在线观看| 亚洲美女屁股眼交| 白白色 亚洲乱淫| 久久亚洲欧美国产精品乐播| 免费一区二区视频| 欧美丝袜第三区| 一区二区三区鲁丝不卡| 丁香激情综合五月| 国产亚洲欧洲997久久综合| 日韩高清不卡一区二区三区| 欧美三电影在线| 亚洲激情图片一区| 91丝袜国产在线播放| 国产精品蜜臀在线观看| 国产老女人精品毛片久久| 精品日韩99亚洲| 麻豆精品一二三| 日韩免费成人网| 日本欧美加勒比视频| 欧美日韩午夜影院| 亚洲国产另类av| 精品视频一区三区九区| 亚洲成人av一区二区| 欧美精品成人一区二区三区四区| 亚洲综合一二三区| 欧美撒尿777hd撒尿| 婷婷国产在线综合| 91精品久久久久久久91蜜桃| 美女一区二区三区在线观看| 欧美一个色资源| 天堂一区二区在线免费观看| 欧美精品第一页| 精品亚洲成a人| 欧美大度的电影原声| 国模一区二区三区白浆| 国产欧美一区二区精品婷婷| 国产91精品久久久久久久网曝门| 国产精品系列在线| 一本一道综合狠狠老| 亚洲一区二区高清| 国产亚洲欧美激情| 成人动漫在线一区| 亚洲美女区一区| 7878成人国产在线观看| 国产一区二区三区免费观看| 国产精品国产三级国产aⅴ原创 | 亚洲欧洲在线观看av| 91蝌蚪porny成人天涯| 亚洲国产乱码最新视频| 精品成人免费观看| 99精品欧美一区二区三区小说| 一区二区三区在线观看网站| 337p亚洲精品色噜噜噜| 高清不卡一区二区| 亚洲一区av在线| 久久久国际精品| 欧美亚洲国产一卡| 国产一区欧美二区| 亚洲国产精品久久久久秋霞影院 | 国产成人在线视频网址| 亚洲乱码国产乱码精品精98午夜 | 精品区一区二区| 91免费国产在线观看| 麻豆成人免费电影| 亚洲另类在线制服丝袜| 日韩精品自拍偷拍| 91在线观看污| 精品无人码麻豆乱码1区2区| 亚洲人成亚洲人成在线观看图片| 91精品国产黑色紧身裤美女| 成人黄色av网站在线| 日本中文字幕不卡| 亚洲黄色在线视频| 欧美激情综合五月色丁香| 91精品国产一区二区三区蜜臀| 成人一区二区三区中文字幕| 日本系列欧美系列| 一区二区三区在线视频播放| 国产三级精品三级| 欧美一区二区精美| 一本久久综合亚洲鲁鲁五月天| 国产一区二区精品在线观看| 丝袜美腿亚洲一区二区图片| 亚洲精品v日韩精品| 国产精品丝袜91| 欧美成人一区二区三区| 欧美日韩亚洲丝袜制服| av亚洲精华国产精华精华| 国产在线视频一区二区三区| 午夜精品福利久久久| 一区二区在线观看免费| 中文字幕一区二区三区乱码在线 | 成人av免费在线观看| 麻豆freexxxx性91精品| 日韩精品欧美成人高清一区二区| 亚洲精品成人天堂一二三| 国产欧美精品区一区二区三区 | 在线综合视频播放| 欧美理论在线播放| 7777精品伊人久久久大香线蕉| 色天天综合色天天久久| 91污在线观看| 91视频在线看| 色999日韩国产欧美一区二区| caoporen国产精品视频| 99热99精品| 色天使色偷偷av一区二区| 色狠狠av一区二区三区| 91国产精品成人| 欧美网站大全在线观看| 欧美伦理电影网| 日韩视频一区二区三区| 欧美精品一区二| 欧美国产激情一区二区三区蜜月| 欧美国产成人在线| 亚洲精品亚洲人成人网在线播放| 一区二区三区在线观看动漫| 亚洲成人先锋电影| 九九在线精品视频| 成人精品视频网站| 色域天天综合网| 5566中文字幕一区二区电影 | 91精品久久久久久久91蜜桃| 精品少妇一区二区三区日产乱码 | 日本一区二区免费在线观看视频| 日韩一区二区电影| 日韩一级高清毛片| 国产女主播视频一区二区| 26uuu亚洲综合色| 亚洲免费视频成人| 日本视频一区二区三区| 免费视频一区二区| 高清视频一区二区| 99国产精品99久久久久久| 欧美久久一二区| 精品日韩在线一区| 亚洲色图.com| 亚洲综合视频在线观看| 蜜臀av性久久久久av蜜臀妖精| 青娱乐精品视频| 国产精品18久久久久久vr| 91看片淫黄大片一级在线观看| 欧美中文字幕久久| 国产三级精品在线| 一级日本不卡的影视| 黄色日韩网站视频| 99国产一区二区三精品乱码| 91精选在线观看| 国产精品女人毛片| 一二三区精品视频| 国产精品白丝jk白祙喷水网站 | 欧美日韩精品二区第二页| 精品日韩在线观看| 亚洲国产综合色| 国产综合色视频| 欧美日韩高清一区| 亚洲国产精品传媒在线观看| 男男成人高潮片免费网站| 日韩成人一区二区| 99久久99久久综合| 国产亚洲精品7777| 五月激情六月综合| 欧美专区在线观看一区| 久久综合九色综合欧美亚洲| 三级影片在线观看欧美日韩一区二区| 久久er99热精品一区二区| 91麻豆精品视频| 国产精品视频第一区| 亚洲chinese男男1069| 色94色欧美sute亚洲线路二| 日韩三级在线观看| 亚洲综合丝袜美腿| 色综合视频在线观看| 26uuu国产一区二区三区| 日韩精品一二区| 色成年激情久久综合| 亚洲人123区| 99久久久久久| 成人免费看黄yyy456| www亚洲一区| 北岛玲一区二区三区四区| 国产精品亚洲午夜一区二区三区| 欧美一级欧美一级在线播放| 亚洲人精品一区| 成人a区在线观看| 久久久久国色av免费看影院| 久久精品国产亚洲a| 日韩美女在线视频 | 另类小说欧美激情| 日韩一本二本av| 精品一区二区免费| 日韩亚洲欧美中文三级|