使用 MySQL Connector for .net 打开 MySQL 连接非常慢

2023-12-14

我正在尝试解决使用 MySQL Connector for .net 打开连接时 MySQL 响应时间过长的问题。

我已经使用 --skip-name-resolve 安装了在 Azure VM (Server 2008) 上运行的 MySQL 5.5,并且数据库用户帐户的主机限制使用 IP 地址。我在 Azure 上运行的 WCF 服务中使用最新的 MySQL Connector for .net(在美国东部的同一位置,我一直在使用试用订阅,未设置关联性)。我在 WCF 服务中的连接字符串使用托管 MySQL 的 VM 的内部 IP 地址作为服务器参数值。我还有“pooling = true;Min Pool Size=2;”以防万一(我也尝试过不使用这些参数)。

跟踪 WCF 时,服务运行和处理请求后的查询响应时间非常好(即使每个查询结果都是唯一的,因此不会被缓存),而且我对 MySQL 的性能没有任何问题,因为它经常受到攻击。

但我无法解决的一个大问题是在大约 3 或 4 分钟内未调用数据库后,获得与 MySQL Open 的连接所需的时间长度. If 几分钟内没有进行任何数据库调用,需要 8 或 9 秒或更长时间才能再次打开连接。我包装了实际的“conn.open();”在调用之前和之后使用跟踪语句,这是我在几分钟不活动后一次又一次看到记录的行为。

顺便说一句,我也尝试过(并且仍在使用)“使用”风格的连接处理,以确保 MySQL 连接器正在管理连接池。

例如。: using (var conn = new MySqlConnection(Properties.Settings.Default.someConnectionString)) { ... 语句 ..}

我觉得我在这方面已经走进了死胡同,所以任何建议将不胜感激。


我可以解释你的问题“在大约 3 或 4 分钟内没有对数据库进行任何调用之后,获得与 MySQL Open 的连接所需的时间长度。如果几分钟内没有进行任何数据库调用,则需要 8 或 9 秒或更长时间才能打开 MySQL再次连接。”为什么会发生:

Windows Azure 网站使用热(活动)和冷(非活动)站点的概念,其中如果网站没有活动连接,则站点将进入冷状态,意味着主机 IIS 进程退出。当与该网站建立新连接时,需要几秒钟的时间才能使该网站准备就绪并正常运行。虽然您有与此网站关联的 MySQL 后端,但由于 IIS 主机进程需要一些时间才能启动,因此需要多花几秒钟才能获得请求的服务。这就是活动几分钟后响应时间较长的原因。

您可以查看以下演示,了解有关 Windows Azure 热(活动)和冷(非活动)网站的更多详细信息:http://video.ch9.ms/teched/2012/na/AZR305.pptx

这次,我不确定也不知道如何让网站始终保持热度,即使转移到共享网站还是根本不可能。我可以建议您将问题写到什么地方Windows Azure 网站论坛该团队的某个人将为您提供适当的答案。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 MySQL Connector for .net 打开 MySQL 连接非常慢 的相关文章

  • 如何为 C 分配的 numpy 数组注册析构函数?

    我想在 C C 中为 numpy 数组分配数字 并将它们作为 numpy 数组传递给 python 我可以做的PyArray SimpleNewFromData http docs scipy org doc numpy reference
  • 互斥体实现可以互换(独立于线程实现)

    所有互斥体实现最终都会调用相同的基本系统 硬件调用吗 这意味着它们可以互换吗 具体来说 如果我使用 gnu parallel算法 使用openmp 并且我想让他们称之为线程安全的类我可以使用boost mutex用于锁定 或者我必须编写自己
  • 如何在 JdbcTemplate 中创建 mySQL 存储过程

    背景 为了解决 MySql 中某些语句只允许在存储过程中出现的问题 我尝试在 JdbcTemplate 提交的 sql 中创建 运行然后删除存储过程 一个简单的例子是 这恰好是在 Spring Boot 中 Service public c
  • 如何从 .resx 文件条目获取注释

    资源文件中的字符串有名称 值和注释 The ResXResourceReader类让我可以访问名称和值 有办法看评论吗 你应该能够得到Comment via ResXDataNode class http msdn microsoft co
  • 如何访问另一个窗体上的ListView控件

    当单击与 ListView 所在表单不同的表单中的按钮时 我试图填充 ListView 我在 Form1 中创建了一个方法以在 Form2 中使用 并将参数传递给 Form1 中的方法 然后填充 ListView 当我调试时 我得到了传递的
  • 存储来自其他程序的事件

    我想将其他应用程序的事件存储在我自己的应用程序中 事件示例 打开 最小化 Word 或打开文件时 这样的事可能吗 运行程序 http msdn microsoft com en us library ms813609 aspx and 打开
  • 在 MySQL 中搜索多个单词

    我使用 HTML 表单来允许用户查找数据库表中的条目
  • 未经许可更改内存值

    我有一个二维数组 当我第一次打印数组的数据时 日期打印正确 但其他时候 array last i 的数据从 i 0 到 last 1 显然是一个逻辑错误 但我不明白原因 因为我复制并粘贴了 for 语句 那么 C 更改数据吗 I use g
  • 左连接 SQL 求和

    我有两张桌子想要加入 比如说表 a 和表 b 表 b 有许多行指向表 a 表 b 包含价格 实际上是一个购物篮 所以我想要的是表a中的所有记录和表b中的价格之和 我努力了 select a sum b ach sell from booki
  • 如何使用 watin 中的 FileUploadDialogHandler 访问文件上传对话框

    我正在使用 IE8 和 watin 并尝试通过我的网页测试上传文件 我不能简单地使用 set 方法设置上传文件 例如 ie FileUpload Find ById someId Set C Desktop image jpg 因为上传文本
  • 如何在 Blackberry Cascades 中显示具有特定号码的电话板

    我正在使用带有 C QT 和 QML 的 Blackberry Cascades 10 Beta 3 SDK 以及 Blackberry 10 Dev Alpha Simulator 和 QNX Momentics IDE 并且我正在尝试实
  • 如何编写一个同时需要请求和响应Dtos的ServiceStack插件

    我需要提供本地化数据服务 所有本地化的响应 Dto 都共享相同的属性 IE 我定义了一个接口 ILocalizedDto 来标记那些 Dto 在请求端 有一个ILocalizedRequest对于需要本地化的请求 Using IPlugin
  • 有人可以提供一个使用 Amazon Web Services 的 itemsearch 的 C# 示例吗

    我正在尝试使用 Amazon Web Services 查询艺术家和标题信息并接收回专辑封面 使用 C 我找不到任何与此接近的示例 所有在线示例都已过时 并且不适用于 AWS 的较新版本 有一个开源项目CodePlex http www c
  • $_SESSION 中保存大量信息可以吗?

    我需要存储许多数组 SESSION以防止从 MySQL 检索信息 可以吗 其中 太多 的信息有多少 SESSION还是没有 太多 谢谢 附 或者更好地使用http php net manual en book memcache php ht
  • 如何对 Web Api 操作进行后调用?

    我创建了一个 Web API 操作 如下所示 HttpPost public void Load string siteName string providerName UserDetails userDetails implementat
  • .NET中的LinkedList是循环链表吗?

    我需要一个循环链表 所以我想知道是否LinkedList是循环链表吗 每当您想要移动列表中的 下一个 块时 以循环方式使用它的快速解决方案 current current Next current List First 电流在哪里Linke
  • PHP 中的嵌套 JSON 输出

    我正在为 iOS 应用程序构建 API 并尝试将 mySQL 数据转换为 JSON 字符串进行处理 所需的输出将需要顶级订单详细信息 例如客户名称和地址 然后是订购的产品子数组 我需要的两个表中有相当多的字段 我希望拥有所有字段 我已经构建
  • 如何在按钮单击时模拟按键 - Unity

    我对 Unity 中的脚本编写非常陌生 我正在尝试创建一个按钮 一旦单击它就需要模拟按下 F 键 要拾取一个项目 这是我当前的代码 在编写此代码之前我浏览了所有统一论坛 但找不到任何有效的东西 Code using System Colle
  • 如何将 Roslyn 语义模型返回的类型符号名称与 Mono.Cecil 返回的类型符号名称相匹配?

    我有以下代码 var paramDeclType m semanticModel GetTypeInfo paramDecl Type Type Where paramDeclType ToString returns System Col
  • 如何正确使用 std::condition_variable?

    我很困惑conditions variables以及如何 安全 使用它们 在我的应用程序中 我有一个创建 gui 线程的类 但是当 gui 是由 gui 线程构造时 主线程需要等待 情况与下面的函数相同 主线程创建互斥体 锁和conditi

随机推荐