繁体   English   中英

PHP MySql - 每个页面加载中的最大查询数

[英]PHP MySql - Maximum number of queries in each page load

我的应用程序平均有2000个在线用户,这是一个非常多的页面加载。 我的问题是我可以在每个页面加载多少个mysql查询? 因为我的应用程序需要加载大量数据。

我的数据库可能会崩溃吗? 还是我的服务器?

_ ____一些信息_ ____
内存限制:60Mb
并行流程:15
脚本执行时间:30 seg
DB:MySQL5(1Gb)

结构:在结构中,所有表都非常好地相互连接。 所有95%的字段都是INT类型(与FOREIGN和PRIMARY键相关)。 共有14张桌子。 总共有32个INT字段和6个TEXT字段。

如果我无法在我的服务器上安装应用程序,有什么其他方法可以缓存我的数据,该怎么办?

如果你有这样的负载,你应该开始考虑设置某种缓存 - 所以请求只会命中一次DB。

我对此的选择将是Varnish

如果您有部分动态内容(例如用户相关数据),则可以将其与Edge Side Includes一起使用

此外,尝试通过聚合选择条件来尽可能地优化查询。 例如,首先 - 收集您需要选择的所有ids ,然后 - 执行SELECT * FROM table WHERE id IN (...)

之后 - 您将能够在服务器端使用结果,而无需打扰数据库


编辑

如果您无法在主机上安装任何应用程序 - 那么您应该继续使用一个请求获取尽可能多的数据,然后 - 使用数组。

并且索引字段也很重要 - 这将加快您的查询速度。

对于此类加载,您可能希望设置多个具有复制功能的服务器,并在应用程序和MySQL服务器之间设置负载均衡器,以在多个实例之间分配读取负载(并考虑缓存和优化查询,如@thecatontheflat所示)。 它还有助于提高可用性(当一个数据库服务器关闭时,其他人可能会占用它的工作份额)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM