【问题标题】:Web app stress testWeb应用压力测试
【发布时间】:2011-01-17 22:03:17
【问题描述】:

我正在使用 pylot 对我创建的 Web 应用程序进行压力测试。该测试模拟 100 个用户登录应用程序,测试持续 200 秒。平均而言,大约。向服务器发出了 4800 个请求,与 MySql 的连接数相同,每个连接执行 5 个查询,因此我们在测试期间讨论的是 24K 查询。

查询很简单,表中的数据很少。问题是在测试期间我无法从网络访问该应用程序。我要么无法连接到 MySql,要么响应时间很慢。请记住,测试是在我的 PC 上的 CentOS VMware 映像上进行的(分配了 512mb 内存)。

以下是测试结果

请求:4809 错误:1 平均响应 时间:3.358 平均吞吐量:23.53 当前吞吐量:420 字节 收件:193028

我认为连接错误是由低端测试环境引起的,但是否存在 一种可以调整 MySql 以接受更多连接的方法?

谢谢。

【问题讨论】:

    标签: mysql database-connection stress-testing


    【解决方案1】:

    尝试获取有关错误的更多详细信息。检查结果或将日志记录添加到网站。

    【讨论】:

      【解决方案2】:

      你在使用连接池吗?

      如果你真的用完了,可以轻松增加 MySQL 的最大连接数,请在 MySQL 安装目录中的 my.ini 或 my.cnf 中查找此块:

      # The maximum amount of concurrent sessions the MySQL server will
      # allow. One of these connections will be reserved for a user with
      # SUPER privileges to allow the administrator to login even if the
      # connection limit has been reached.
      
      max_connections=500
      

      如果您使用连接池,您可以将其大小限制为 MySQL 可用的 500 个中的 250 个,那么您就有 250 个“备用”池,可确保您的 Web 访问获得连接。您可以非常有创意地设置登录过程 100、数据读取 100、数据写入 100 等等,但这显然会在很大程度上影响您的应用程序设计。

      【讨论】:

      • 嗨,Brian,不,我没有使用池,my.cnf 中的 max_connections 设置为 768,所以我认为连接没有问题(我相信)
      • 如果设置连接池足够简单,我会试一试;您可能通过这样的压力测试达到连接限制。要么,要么将其设置为 1500,然后看看你的表现如何 :-)
      猜你喜欢
      • 1970-01-01
      • 2014-01-22
      • 2021-01-18
      • 2012-09-21
      • 2011-04-20
      • 1970-01-01
      • 2010-09-26
      • 2011-06-07
      相关资源
      最近更新 更多