首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >动态生成页面列表的效率

动态生成页面列表的效率
EN

Webmasters Stack Exchange用户
提问于 2018-03-17 22:38:18
回答 1查看 50关注 0票数 0

我目前正在努力提高我的网站的可扩展性。

我正在做的事情之一是自动生成导航栏、侧边栏、索引等的页面列表,而不是像我现在这样手动完成。

我计划使用一个主JSON文件,其中包含页面、标题、描述、URL等列表,然后在加载页面时使用PHP解析该文件,以显示页面列表。特定的文件格式和使用的语言不适用于这个问题,它只是为了上下文。

这方面的明显问题是效率--每一个页面加载都需要读取JSON文件并为页面列表生成HTML。

我知道缓存是这方面的通常解决方案,因此只有在需要时才运行页面生成脚本,或者数据库可能缓存常见的查询,但是,除了可能降低性能、DoS风险等之外,不使用任何缓存解决方案会带来什么影响?

使用缓存解决方案标准不是在练习,而降低的效率只是被接受了,还是说到世界上几乎每个网站都显示动态内容时,我遗漏了什么?

EN

回答 1

Webmasters Stack Exchange用户

回答已采纳

发布于 2018-03-18 22:51:12

这方面的明显问题是效率--每一个页面加载都需要读取JSON文件并为页面列表生成HTML。

这个问题相当模糊,但是如果我们要解析一个静态JSON文件以输出HTML,那么除非源文件是巨大的,否则它应该是接近“瞬时”的--至少在获得一个完整页面的整个过程中是“微不足道”的,并且所有连接的资源都呈现在用户代理上。

在这种情况下,虽然缓存(呈现的HTML)可能会更快,但这是否会使现实世界有所不同则是另一回事了。(维护缓存的行为本身并不是没有开销的。)

除了可能降低性能、DoS风险等之外,不使用任何缓存解决方案会带来什么影响?

如果缺乏缓存会减慢网站的速度,就像你说的.

  • 增加的服务器负载
  • 无法处理更多的用户
  • 受挫用户
  • 减少SEO (如果您的站点非常慢)

你提到"DoS"..。当然,您可能无法处理这么多的用户。但是,简单的缓存不太可能帮助您抵御真正的DOS/DDOS攻击。

使用缓存解决方案标准不是在练习,而降低的效率只是被接受了,还是说到世界上几乎每个网站都显示动态内容时,我遗漏了什么?

缓存有多种形式。大多数站点将使用一种或另一种形式的缓存,即使它们没有意识到这一点。然而,我想说缓存比没有更标准。如果你需要使用额外的缓存,如果你.别!

但是,许多依赖缓存的站点所做的工作远远不止于解析静态JSON文件。

只是想一想,既然你提到JSON..。不要做任何处理服务器端。将JSON发送到客户端,让客户端构建HTML?(是的,这会创建一个JavaScript依赖项--但是如果需要的话,这可以在第一次加载时检查,然后返回到服务器端呈现。)

票数 1
EN
页面原文内容由Webmasters Stack Exchange提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://webmasters.stackexchange.com/questions/113648

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档