我一直想知道用于网站性能/速度的查询量有多大。
我有两个网站,使用不同的引擎运行(一个使用IPB,另一个使用MyBB)。 IPB使用的查询较少(平均只有14个),但运行速度比MyBB慢,使用的查询次数更多(平均值为20)。
我认为这是因为IPB是大量修改的,所以我在我的localhost上运行全新安装。
但结果仍然如此。 IPB(查询较少)运行速度比MyBB慢(查询次数较多)。
这让我很好奇,所以如何使用查询来影响网站性能?它有意义吗?
答案 0 :(得分:1)
很多查询是一个因素。但是你还必须考虑每个单独的查询,它是否会加入?很多数学?查询中的查询?表格是否有索引等。
看看这些关于优化的链接,知道如何优化某些东西可以告诉你什么会导致它变慢。
http://www.fiftyfoureleven.com/weblog/web-development/programming-and-scripts/mysql-optimization-tip
http://msdn.microsoft.com/en-us/library/ff650689.aspx
http://hungred.com/useful-information/ways-optimize-sql-queries/
答案 1 :(得分:1)
我相信这个问题有很多答案。有很多事情需要考虑。例如,查询将返回大量行的数据库将比具有少量记录的数据库花费更多时间。另一件需要考虑的事情是查询的数量,就像您在帖子中所做的那样。我能想到的另一个案例是你如何进行查询。如果您使用jquery或javascript ajax调用来进行查询,则会花费更多时间。
答案 2 :(得分:1)
每页的大量查询与网站响应速度和速度无关。
重要的是:
答案 3 :(得分:1)
这取决于您认为“重要”的内容。 让我们考虑两种情况:
我们有很多查询需要花费很长时间才能执行
这很糟糕......只是因为它需要花费很多时间来处理它们
我们有很多查询,只需要很少的时间来执行
如果您的数据库服务器与Web服务器位于不同的计算机上,则由于通信开销可能会出现问题。 Web服务器和数据库服务器很可能会花更多的时间进行通信,然后处理每个查询(考虑网络延迟)。
如果您的数据库服务器与Web服务器位于同一台计算机上,则可能不会影响站点性能,因为Web服务器和数据库服务器之间的通信速度非常快。但还有其他事情需要考虑。例如,您可能会锁定某些表以进行更新/选择查询A LOT并且会显着降低站点性能。
执行较少的查询总是更好。
答案 4 :(得分:1)
你应该记住,在一般网站上,约80%是关于前端性能,只有20%关于后端性能。
因此,对于网站性能而言,在大多数情况下,优化前端性能更为相关。在这里,你可以迅速做出重点。
当然,有些网站会大量显示来自数据库的大量数据。这里值得考虑优化后端性能。优化后端性能意味着在大多数情况下优化数据库内容。
关于这一点的好书是Steve Souders的“高性能网站”。