Улучшение задержки ответа сервера при высоком объеме трафика

У меня есть приложение электронной коммерции, и оно отлично работает, когда его используют от 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 пользователей получат доступ к этому приложению, оно должно быстро реагировать и загружать элементы.

2

Решение

На стороне сервера вы должны изучить методы управления большим количеством соединений, такие как позволяя серверам обрабатывать большой объем трафика, а также проблемы сетевого уровня, такие как динамическая балансировка нагрузки.

На стороне клиента вы можете использовать Volley с okHttp. Вы также должны включить использование okHttp на стороне сервера чтобы это работало правильно.

Рекомендации:

1. Тактика использования PHP на сайтах с высокой нагрузкой.

2. Разделение динамического и статического контента на сайте с высоким трафиком.

3. Как реализовать Android Volley с OkHttp 2.0?

4. Использование SPDY на вашем веб-сервере.

2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]