Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
针对android客户端请求优化apache和mysql_Android_Mysql_Apache_Http - Fatal编程技术网

针对android客户端请求优化apache和mysql

针对android客户端请求优化apache和mysql,android,mysql,apache,http,Android,Mysql,Apache,Http,如果我期望来自不同IP的大量连接同时获得相同数量的数据,那么我想知道应该设置哪些apache/httpd参数。例如:我有10000台移动设备,它们试图同时从服务器获取数据。数据集大约有10万个,由一个php脚本生成。每次调用都会对数据库进行查询。如何配置apache(和mysql)以在请求期间保持活动状态 <?php $con = mysql_connect( 'localhost', 'root', 'pass') or die('Could not connect' ); mysql_

如果我期望来自不同IP的大量连接同时获得相同数量的数据,那么我想知道应该设置哪些apache/httpd参数。例如:我有10000台移动设备,它们试图同时从服务器获取数据。数据集大约有10万个,由一个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);
}

首先使用mysqli API,而不是mysql()

然后必须使用bind-param技术()因为生成的查询具有更好的性能,因为mysql不必重建查询的执行计划,只需重新执行它

服务器端注意不要减慢MyISAM驱动程序,而是InnoDB。如果可以管理表结构,请采用众所周知的规范化做法:


同时也要以异步方式在您的while中执行代码,这样您就可以“并行化”代码的执行。

谢谢您的回答。我会关注所有这些话题。我需要在apache端做些什么来允许许多并行连接吗?关于“绑定参数技术”。我的查询是“从结果中选择*,其中version={$\u GET[“version”]}”。因此,用户总是通过查询传递一个版本。。这里也可以使用bind param吗?是的,您可以,如果查询是最简单的服务器端,则更好。连接池由php+apache自动管理。如果你想进行一些定制,请查看,因为查询很简单,只依赖于“版本”。将数据预存到文件中有意义吗?例如:v1.txt、v2.txt等。。。其中“v1”实际上是数据的“版本”。然后,由用户调用的脚本(getdata.php)读取文件并将输出返回给用户。。那么就根本没有对mysql的请求了。。。它会提高速度和可用性吗?