针对Android客户端请求优化Apache和MySQL



我想知道,如果我期望从不同的IPS有大量的连接,同一时间获得相同的数据,则与设置相关的APACHE/HTTPD参数相关。例如:我将拥有10000个移动设备,这些设备尝试同时从服务器获取数据。该数据集大约为100K大,由PHP脚本生成。每个呼叫对数据库进行查询。应在此请求期间如何配置Apache(和MySQL)以保持生命?

<?php
$con = mysql_connect( 'localhost', 'root', 'pass') or die('Could not connect' );
mysql_select_db('mydb', $con) or die('Could not select database.');
$result = mysql_query("SELECT * FROM results");
mysql_close($con); 
$items = array();
while($row = mysql_fetch_array($result)){
   $items[] = array(
     's' => $row['sport'],
    ....
 );
 echo json_encode($items);
}

问候!dimitri。

首先使用mysqli api而不是mysql(http://it2.php.net/mysqli)。

然后,您必须使用bind param技术(http://it2.php.net/manual/manual/en/mysqli-stmt.bind-param.php)beatcuse生成的查询具有更好的性能,因为mysql deos not必须重建查询的Excectution计划,但仅重新执行。

服务器端注意不会减慢Myisam驱动程序,而是InnoDB。如果您可以管理表结构,则采用众所周知的归一化实践:http://en.wikipedia.org/wiki/database_normalization。

还以异步方式进行内部代码,以便您可以"并行"执行代码。

最新更新