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

时间:2012-08-02 11:25:28

标签: php mysql sql

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

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

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

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

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

2 个答案:

答案 0 :(得分:1)

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

我对此的选择是Varnish

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

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

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


修改

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

重要来建立索引字段 - 这会加快您的查询速度。

答案 1 :(得分:1)

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