Mysql 并发数据库连接-如何计算
我们的mysql主机有并发数据库连接的限制。由于扩大这一限制的代价相当高昂,因此出现了以下问题: 信息: 我有一个web应用程序(由外部程序员开发-以防您可能会对这个问题感到疑惑) web应用程序分布并安装在许多服务器上(每个用户都将其安装在pc上)。这些卫星正在向mysql数据库发送数据。现在卫星正在直接发布到数据库中。为了提高安全性和错误处理,我希望卫星发布到XML rpc(wordpress api),然后进一步发布到数据库中 问题: 这样的api是否会减少并发连接的数量? (现在每个卫星都直接连接。就像1个用户=1个连接) 如果10颗卫星正在发送到一个文件,则该文件将处理数据并将其发送到db->这是一个连接吗?(或处理不同数据集的连接数。) 如果api有一点节流,那么一次只能进行发布会怎么样。这是否只会导致一个连接 非常感谢任何指点!Mysql 并发数据库连接-如何计算,mysql,concurrency,database-connection,connection-pooling,xml-rpc,Mysql,Concurrency,Database Connection,Connection Pooling,Xml Rpc,我们的mysql主机有并发数据库连接的限制。由于扩大这一限制的代价相当高昂,因此出现了以下问题: 信息: 我有一个web应用程序(由外部程序员开发-以防您可能会对这个问题感到疑惑) web应用程序分布并安装在许多服务器上(每个用户都将其安装在pc上)。这些卫星正在向mysql数据库发送数据。现在卫星正在直接发布到数据库中。为了提高安全性和错误处理,我希望卫星发布到XML rpc(wordpress api),然后进一步发布到数据库中 问题: 这样的api是否会减少并发连接的数量? (现在每个卫星
提前谢谢你 如果您想要改进到数据库的并发连接(因为事实上,创建到数据库的连接是“昂贵的”)。您应该研究如何使用
连接池
(使用Java)
如何计算并发数据库连接数?
(来源:) 无连接的
服务器
- 使用无连接IPC API(例如,无连接数据报套接字)
- 与并发客户端的会话可以交错
面向连接的服务器
- 使用面向连接的IPC API(例如流模式套接字)
- 除非服务器是线程化的,否则与并发客户端的会话只能是顺序的
(,不适用)
设计和性能问题
- 数据库连接可能成为瓶颈。这是可以解决的
通过使用连接池
- 已编译的SQL语句可以通过使用PreparedStatements重新使用
而不是陈述。这些语句可以参数化
- 连接通常不是由servlet直接创建的,而是
使用工厂(数据源)创建或从命名服务获得
(JNDI)
- 重要的是要释放连接(关闭连接或将其返回到
连接池)。这应该在一个子句中完成(以便完成
无论如何)。请注意close()也会引发异常
try
{
Console.WriteLine("Executing the try statement.");
throw new NullReferenceException();
}
catch (NullReferenceException e)
{
Console.WriteLine("{0} Caught exception #1.", e);
}
catch
{
Console.WriteLine("Caught exception #2.");
}
finally
{
Console.WriteLine("Executing finally block.");
}
- 在开发面向对象和对象之间的接口时,会遇到各种各样的问题
关系数据库管理系统。这被称为“范式不匹配”。主要问题是
数据库使用按值引用,而OO语言使用按值引用
地址。所谓的中间件/对象持久性框架软件
试图缓解这种情况
迪特里希,R.(2012)。Web应用程序架构,服务器端脚本servlet。北帕默斯顿:梅西大学
这取决于您实现集中式服务的方式
如果服务在收到请求后立即将数据发布到mysql,那么如果同时有请求,您可能会有许多连接。但是使用连接池,您可以精确地控制将有多少打开的连接。在极限情况下,您只能打开一个连接。如果存在多个并发请求,这可能会导致争用,因为每个请求都必须等待连接释放
如果服务接收到请求,将它们存储在某个地方(而不是数据库),并将它们分块处理,那么您也可以只有一个连接。但是这种情况要实现起来更为复杂,因为您必须控制对临时数据缓冲区的访问(读写)。嘿,非常感谢!我一个字也听不懂。。但这也许是件好事。将把这个问题传递给程序员。@user1769562太好了,如果有帮助的话,别忘了将问题标记为已回答,以供将来的观众使用。:)非常感谢你。所以可以肯定地说,如果api(据我所知,它只是服务器上处理抛出数据的一个文件)接收到10个请求,那么它算是一个连接?(1个文件连接到db=1连接)?下面的答案听起来更“正确”,而对于我这个非技术人员来说,你的答案更有意义。现在不确定要选择哪一个。两个答案都涉及同一个重要问题:连接池。因为你没有给出足够的细节,所以很难定义一个合理的解决方案,所以我没有深入研究技术细节。Wordpress确实有一个API,其数据(帖子、评论等)包含xml rpc。这是你要用的吗?你的客户是否在发送帖子、消息等。?你控制你的wordpress环境吗?谢谢-明白了。将阅读有关连接池的信息。是的,由于应用程序用户在wordpress中注册(并且可以在这里管理他们的凭据),我想到使用wordpress api将卫星应用程序连接到db。无论如何,我完全意识到,除了已经提供的答案之外,其他一切都是断章取义的。谢谢你的帮助!