У меня есть приложение электронной коммерции, и оно отлично работает, когда его используют от 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 пользователей получат доступ к этому приложению, оно должно быстро реагировать и загружать элементы.
На стороне сервера вы должны изучить методы управления большим количеством соединений, такие как позволяя серверам обрабатывать большой объем трафика, а также проблемы сетевого уровня, такие как динамическая балансировка нагрузки.
На стороне клиента вы можете использовать Volley
с okHttp
. Вы также должны включить использование okHttp
на стороне сервера чтобы это работало правильно.
Рекомендации:
1. Тактика использования PHP на сайтах с высокой нагрузкой.
2. Разделение динамического и статического контента на сайте с высоким трафиком.
Других решений пока нет …