什么是好/健康的mysql查询执行时间?
根据我的计算:
该网站每小时可获得1000个唯一身份访问者
每个唯一身份访问者的10页视图
每个独立访客5分钟(我忽略了这一点。我应该, 右?)1000 * 10 = 10000 /(60 * 60)=每秒2.7次视图。
我在每个页面上都有3个查询。 2.7 * 3 =每秒8.1次查询
1秒/ 8.1 = 0.123
因此平均查询执行时间必须小于0.123。
假设访问量没有增加,我们可以说少于0.123的数据适用于健康的数据库吗?
编辑:我了解到这个模型会描述一个容量为100%的服务器,但我应该瞄准25-50%的容量。我是新手,我不知道如何继续这个。
答案 0 :(得分:4)
您的计算是在正确的路径上确定服务器上的负载。但是,它错过了数据库服务器可以同时处理多个查询的事实。
这是“带宽”和“延迟”之间的差异。 “带宽”是在一段时间内可以处理的查询数。 “延迟”是从一个查询中获取结果所需的时间。
通常,当您查看用户的返回值时,您希望查询的数据库部分在不到几百毫秒(可能在几十毫秒内)内完成。这允许UI的其他组件 - 特别是网络,还有应用程序端逻辑 - 在一两秒内返回。这通常是许多应用程序的合理响应时间。您应该为您的应用选择合适的值 - 50毫秒,100毫秒,200毫秒 - 然后设计数据库和硬件以实现该目标。
您通过多种策略完成了这些时间,特别是关注索引以加速数据库搜索以及将常用数据保存在内存中。
答案 1 :(得分:0)
很难做出准确的预测:
我首先关注应用程序,当我发现性能不足时,优化。一些想法,为了越来越绝望: