mysql进程列表的进程太多正常吗?

sirbozc5  于 2021-06-18  发布在  Mysql
关注(0)|答案(0)|浏览(263)

我创建了一个类似于android的社交媒体应用程序。我使用asp.NETWeb服务获取json数据或处理插入、更新、删除等数据。我用的是mysql数据库。
活跃用户数约为2,5k,日均为1,5k。
不管怎样,当我用“show processlist在phpmyadmin上,有很多过程;某些进程具有sleep命令值。因此,这种情况会出现错误,比如应用程序速度降低,有时会出现“最大用户连接数”。
所以,我在web服务上完成数据库的过程后关闭了所有连接,但仍然存在该问题或错误。

[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;
    }

}

这是我的web方法的任何一个例子。我错在哪里?
谢谢你的回复。

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题