我想知道是否可以为以下问题提供一些提示或指导。
环境类型:小型办公室,大约 20 个用户。网络:所有服务器、工作站属于一个子网基础设施:虚拟化网络服务器和虚拟化数据库服务器。
目前我有一个运行 Apache 2.2.22 (Win32) 和 PHP 5.3.10 的 Web 服务器 (Win7SP1 x64)。我已经构建了一些连接到我们的数据库(SQL2k8 Express)并调用过程的页面,这些过程基本上只是带有连接和条件的基本选择语句。一旦返回结果集,PHP 会逐行遍历结果集,并在流经时显示行。
有时,结果页面可能需要很长时间才能加载,其中没有显示结果集,但 Web 浏览器加载栏/图标闪烁。有时它只会在加载结束时显示一个空白屏幕,这通常意味着查询连接已超时,或者有时它会返回结果集。例如,在正常情况下,页面加载大约需要 1-3 秒,而在奇数情况下,可能需要 20-30 秒。
我注意到,如果我在 SQLSVR Mgmt Studio 中运行查询,可能需要约 5 秒才能返回结果集的查询可能需要约 15 秒才能加载到我的 Web 服务器上。
我知道糟糕的 PHP 编码会导致速度变慢,但奇怪的性能行为让我有点困惑,因为我确信我的编码并没有那么糟糕。
因此,如果人们可以就我如何诊断或隔离问题提供一些建议,或者建议我可以研究的领域,那就太好了。我知道有 Apache 日志、SQL SVR 日志和性能指标,但我对这个领域还是很陌生,我真的迷失了我应该采用的方法/方法。
例如,我应该在 Apache 等中启用的任何特定模块或我应该使用的 Apache 服务器类型、Web 服务器中的连接套接字等?
我的 PHP 查询/过程调用示例
$queryStatement = "exec myProc @para1='asd'";
$prepare = $dbConnect->prepare($queryStatement);
$result = $prepare->execute();
WHILE($result = $prepare->fetch(PDO::FETCH_ASSOC)){
set_time_limit(180);
echo $result
}
祝大家好运:)