我的项目是一个包含动态页面的网站。
每次用户运行查询(返回由PHP生成的表中显示的结果)时,我都会连接到数据库,查询它,然后立即断开连接。
如果我估计用户可以进行的查询/小时的最大值,结果可能是60分钟x 5次查询/分钟= 300次查询/小时。
我还有一些由JavaScript生成的额外查询,我可以为这些添加额外的每小时100。
所以考虑到上述情况,我的MAX CONNECTIONS ...应该是400.当然,这可能是最大值。
这是对的吗?你能告诉我一个"平常"价值是?
编辑:我对此事没有任何经验,我不是dbA。我认为限制每个帐号的这些数字是一个很好的安全政策。我的连接代码是:
document.querySelector("#id")
答案 0 :(得分:1)
首先......
你限制这个的目的是什么?如果您担心服务器资源,则无需担心。 MySQL非常高效,每小时可以管理数万个查询。为什么设置一个可能导致您以后遇到问题的下限?我根本没有理由设置这个价值,或者肯定不会低于你最疯狂的想象力可以想象你的网站成长的东西。所以,如果你决定指定它,请确保它是一个像100,000这样的大数字。
<强>其次... 强>
也许你在问,因为你正在创建用户帐户。但是,此处指定的参数是可选,在大多数情况下可能不是很重要。我建议除非有特定问题,否则你不要指定这些选项。
答案 1 :(得分:1)
当您GRANT
访问您的php网络应用程序时,不要限制MAX_CONNECTIONS_PER_HOUR,MAX_QUERIES_PER_HOUR或任何此类内容。什么都没有好处。如果您的php应用程序达到了这些限制,它将开始向用户抛出令人讨厌的模糊错误消息。那些东西不适用于Web应用程序。对于企业风格的应用程序,adam,barney和charlie都在MySQL服务器上拥有自己的用户名和密码。
Web服务器计算机通常只有一个或两个用户名/密码组合代表所有用户使用。在用户知道密码的MySQL服务器上创建帐户是不好的安全做法。
对于总体最大连接数,它取决于MySQL服务器计算机的大小以及为Web应用程序提供服务的Web服务器计算机的数量。 mysqli_
has persistent connections built in,因此重新使用连接。当连接用完时,通常php请求排队。
每台网络服务器机器100个连接可能没问题,除非您的网络服务器机器是巨大的四核怪物,每个都有16克内存。