我们有一个专用服务器,内存为8GB,
PHP5.3为MySQL 5.1
最多有大约500个并发连接,每个连接使用用户数据对较小的表执行1-2次SELECT查询,然后在大表事务中执行INSERT.选择查询不需要太多,我们在每个查询之间添加监视以查看每个查询的响应时间,并且从来没有问题.
我们在代码中添加了跟踪功能,有时会导致一些简单的INSERT查询需要14-15秒.下面列出的此查询有时需要14秒,有时为6秒,有时为0.2秒或更短.可能是什么问题?
PHP代码有时会返回这些巨大的延迟:
$starT = microtime(true);
echo '×tampTS_02='.(microtime(true) - $startT);
mysqli_query($GLOBALS['con'],"INSERT INTO `transactions` (`id`,`data`) VALUES('id','some_data')") or die(mysqli_error($GLOBALS['con']));
echo '×tampTS_03='.(microtime(true) - $startT);
到目前为止,交易表有大约200万个条目.
CREATE TABLE IF NOT EXISTS `transactions` (
`id` int(11) NOT NULL,
`data` varchar(1000) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1;