什么是正确的缓存信息?什么是好的页面加载时间?

dsw*_*tik 6 asp.net-mvc caching social-networking

我正在开发一个社交网站.

从项目的第一天开始考虑可扩展性,我已经很好地调整了网站和查询.

然而; 某些页面的数据量非常大,我不太确定它们是否加载速度尽可能快,所以我在考虑实现分布式缓存解决方案.

但不太确定我应该缓存什么而不是缓存.或者,如果当前页面加载时间为1秒是好还是坏.

最重要的查询是抓取会员信息,此查询获取所有会员的信息以及与他们相关的任何信息,例如在此网站的情况下他们的目标,博客类型条目,鼓励,照片,状态更新(如推特),博客信息(用于交叉输入他们的条目) )等

无论如何,我应该缓存这些信息吗?您是否认为1秒的加载时间相当快?有些页面在4-6个十分之一秒之间不到一秒钟.

Mat*_*one 2

如果可能的话,我会在应用程序的每一层实现缓存。

您可以在最高级别缓存页面,在代码级别缓存对象,并确保数据库在最低级别正确缓存查询和关键数据。

就需要缓存的内容而言,应该缓存任何将被重复访问的对象,尤其是那些不太可能经常更改的对象。然后,您只能在编辑该对象时重置该对象的缓存。(要小心缓存频繁更新的对象,因为在几乎每次加载时更换缓存的恒定周期会降低性能而不是增强性能)

为了测量性能,我不会查看单个页面的加载时间,而是通过谷歌搜索一些性能测量工具,因为您确实需要测试每个页面在压力下的执行速度。例如,如果您的用户信息页面很少被访问,则它可能不是最大的缓存目标。您应该关注使用最频繁的页面。