В списке процессов MySQL слишком много процессов.Это нормально? - PullRequest
0 голосов
/ 30 ноября 2018

Я создал приложение для Android, такое как приложение для социальных сетей.Я использую веб-сервисы ASP.NET для извлечения данных с помощью JSON или обработки данных, таких как INSERT, UPDATE, DELETE.И я использую базу данных MySQL.

Количество активных пользователей составляет около 2,5 тыс., А среднесуточное значение составляет 1,5 тыс.

В любом случае, когда я контролирую список процессов с помощью «show processlist»;на phpMyAdmin много процессов;некоторые процессы имеют значение команды Sleep.Таким образом, в этой ситуации появляются ошибки, такие как снижение скорости приложения и иногда «max_user_connections».

Итак, я закрыл все соединения после завершения процесса базы данных на веб-службе, но все еще имел эту проблему или ошибки.

[WebMethod]
public string ABC(int x, string y)
{
    using (con = new MySqlConnection(conString))
    {
        List<Profile> result= new List<Profile>();
        result.Add(new Profile
        {
            posts= ""
        });

        List<ClassA> resultA= new List<ClassA>();

        query= "SELECT COUNT(FollowId) FROM Followings WHERE FUserId = " + x;
        con.Open();
        cmd = new MySqlCommand(query, con);
        dr = cmd.ExecuteReader();
        string count = "0";
        while (dr.Read())
        {
            count = dr[0].ToString();
        }
        dr.Close();
        con.Close();

        query= "SELECT COUNT(FollowId) FROM Followings WHERE FollowingUserId = " + x;
        con.Open();
        cmd = new MySqlCommand(query, con);
        dr = cmd.ExecuteReader();
        string count2 = "0";
        while (dr.Read())
        {
            count2 = dr[0].ToString();
        }
        dr.Close();
        con.Close();

        query= "SELECT .... FROM Posts WHERE UserId = " + x+ " ORDER BY PostId DESC LIMIT 30";
        con.Open();
        cmd = new MySqlCommand(query, con);
        dr = cmd.ExecuteReader();
        int i;
        int count3 = 0;
        while (dr.Read())
        {
            count3++;
            i = 0;
            resultA.Add(new ClassA
            {
                postId = Convert.ToInt32(dr[i]),
                postUrl = dr[++i].ToString(),
                ... = Convert.ToInt32(dr[++i])

            });
        }
        dr.Close();
        con.Close();

        string json = "";
        if (resultA.Count > 0)
        {
            json = JsonConvert.SerializeObject(resultA);
        }

        result[0].posts = json;


        json = "";
        if (result.Count > 0)
        {
            json = JsonConvert.SerializeObject(result);
        }
        return json;
    }

}

Это любой пример моих веб-методов.Где я могу ошибиться?

Спасибо за ответы.

...