我有一个电子商务应用程序,当有5到10个用户使用它时,它可以正常运行。
但是当它被50-60人使用时它变得非常慢。
目前我正在使用MySQL& PHP。
我正在调用具有.php
连接代码的MySQL
文件。从那里我得到JSON响应。
以下是我的代码:
class Items extends AsyncTask<String, String, String> {
protected String doInBackground(String... args) {
// Building Parameters
List<NameValuePair> params = new ArrayList<NameValuePair>();
params.add(new BasicNameValuePair("id", Itemid));
// getting JSON string from URL
JSONObject json = jParser.makeHttpRequest(url_allitems, "GET",
params);
try {
// Checking for SUCCESS TAG
int success = json.getInt(TAG_SUCCESS);
if (success == 1) {
products = json.getJSONArray(TAG_ITEMS);
for (int i = 0; i < products.length(); i++) {
JSONObject c = products.getJSONObject(i);
// Storing each json item in variable
String id = c.getString(TAG_ITEMID);
String name = c.getString(TAG_NAME);
// creating new HashMap
HashMap<String, String> map = new HashMap<String, String>();
// adding each child node to HashMap key => value
map.put(TAG_PID, id);
map.put(TAG_NAME, name);
// adding HashList to ArrayList
productsList.add(map);
}
这是我的PHP代码:
$result = mysql_query("SELECT * FROM item_master") ;
// check for empty result
if (mysql_num_rows($result) > 0) {
$response["items"] = array();
while ($row = mysql_fetch_array($result)) {
// temp user array
$item = array();
$item["id"] = $row["id"];
$item["code"] = $row["code"];
$item["name"] = $row["name"];
$item["description"] = $row["description"];
$item["price"] = $row["price"];
$item["image1"] = $row["image1"];
// push single product into final response array
array_push($response["items"], $product);
}
// success
$response["psuccess"] = 1;
....
}
那么在这种情况下优化的最佳方法是什么?当超过1000个用户访问此应用时,应用应该响应并快速加载项目。
答案 0 :(得分:2)
在服务器端,您需要研究管理大量连接的技术,例如enabling servers to handle high-volume traffic,以及dynamic load balancing等网络级问题。
在客户端,您可以Volley
使用okHttp
。您还必须启用okHttp
on the server side才能正常使用。
<强>参考文献:强>
1。 Tactics for using PHP in a high-load site。
2。 Separating dynamic and static content on high traffic website。