2

我想从目前正在将 Concrete 用于大型内容网站的人们那里获得一些见解。

我正在与之合作的开发团队决定将其用作我们下一个项目的 CMF。

我对这个系统有些担心。

可扩展性

这个系统能否在用户和数据量不断增长的同时继续平稳运行?

速度

我遇到了一些非常慢的具体页面。这是我最大的担忧之一。页面加载速度如何?随着新页面的添加,这会影响整个网站的速度吗?有哪些优化技术可用?

前端灵活性

您是否仅限于在前端可以做的事情?

插件

使用插件与构建自定义编码解决方案的优缺点。(例如速度,附加查询)

我正在尽我最大的努力确保我们开始开发的系统允许增长和。

免责声明:我是设计师和前端开发人员。我没有后端经验。

4

3 回答 3

1

我无法发表评论,但也许第二个答案会帮助您做出决定。

可扩展性

这个系统能否在用户和数据量不断增长的同时继续平稳运行?

是的。

速度

我遇到了一些非常慢的具体页面。这是我最大的担忧之一。页面加载速度如何?随着新页面的添加,这会影响整个网站的速度吗?有哪些优化技术可用?

系统有一个块和一个全页缓存。如果您确保在带有 APC 的主机上运行它(可能还有带有 PHP 5.5 的 APCu),您应该没有问题。

前端灵活性

您是否仅限于在前端可以做的事情?

一点也不。

插件

使用插件与构建自定义编码解决方案的优缺点。(例如速度,附加查询)

如果您有问题需要市场中提供的解决方案,您可以尝试。通常他们没问题。有时从市场上购买某些东西并进行调整会更好 - 但是具体5让您可以自由地自己编写所有内容。

编辑:我们现在在 Concrete5 上运行了另一个“大”页面,它比第一个更动态。它每分钟持续提供 > 500 页,在一台服务器上随处可见峰值。虽然您可以完全在 Page Cache 或 Varnish / Cloud Flare 上运行第一个更大的页面,但第二个是在线商店。尽管如此,Concrete5 的灵活性允许您选择要走的路。由于它的外观,该页面在几乎每个页面的各个方面都不同,但我仍然觉得使用 Concrete5 是安全的,因为我可以改变我想要的每一个行为 - 它不会因此而杀了我。

于 2014-04-04T14:26:10.797 回答
1

如果使用正确,Concrete5 很快。就像任何事情一样,如果您滥用它并且不维护它,那么它会变慢。

我建议您阅读此https://www.concrete5.org/documentation/using-concrete5/dashboard/system-and-maintenance/jobs/cache-and-speed-settings/

前端的唯一限制是开发人员的能力。我是一名开发人员,从来没有遇到过不可能的事情。

有很多附加组件,创建自己的组件也很容易,尤其是使用http://www.concrete5.org/marketplace/addons/designer-content/

我在 C5 中运行了大量站点,没有一个很慢。所有人都使用 Varnish 缓存和亚马逊的 CloudFront——以充分利用我的硬件。

你自己看:

于 2014-03-10T23:00:55.420 回答
0

Concrete5 旨在以牺牲性能为代价实现灵活性

一个非常简单的页面通常可以在单个请求中进行 3,000 到 10,000 个数据库查询,这完全是惊人的。

对于公共网站,您将需要启用全页面缓存(或运行像 Varnish 这样的 HTML 缓存),从而减少对如此多的查询的需求。但是,某些块和插件会遇到整页缓存问题。从 v5.7 开始,我们的经验是它有问题,需要彻底测试。

在 Intranet 和社区站点(用户需要登录并需要检查权限)上,完整的 HTML 缓存并不总是有效的。在这些情况下,您可能需要审核您的自定义代码并尽量减少使用查询繁重的 Concrete5 函数,替换为您自己的自定义 SQL 查询。

甚至 Concrete5 的 CEO 也承认这一点:

没错,concrete5 使用相当多的数据库查询来呈现页面。如果一个人从头开始设计一个应用程序来服务于一个目的,那么在少数几个查询中解决大多数问题是很容易的。然而,正如您所知,concrete5 在核心中提供了极大的灵活性。虽然我确信总会有机会清理查询和加载的对象数量,但当您拥有可能包含多个异常的页面、块区域和块级权限时,您总是会经常访问数据库,定时发布等。

我们的经验是,更重要的是查看实际使用情况,而不是抽象术语和基于直觉的规则。我们看到concrete5 在企业级以两种截然不同的方式使用。有时,组织正在为其员工、经销商或合作伙伴构建外联网/内联网。这些通常需要复杂的权限和工作流程,具体5 允许产品经理在不接触代码的情况下完成。这些站点,即使是在企业级,通常也提供数以万计的服务,并且可以在配置良好的 Web 服务器上正常运行。

其他时候,组织正在构建以前端为中心的信息站点。这些在交互性和复杂权限方面往往是相当平坦的。好处是易于编辑。在这些情况下,我们所做的是在concrete5 之前运行Varnish 缓存,这使得站点比apache 和静态HTML 文件更快。我认为您会发现这比根据需要删除系统的某些部分要容易得多。

– Franz Maruna,concrete5 首席执行官,2013 年 3 月

他的回复来自这篇文章,很好地解释了查询问题:http ://www.headenergy.co.uk/2013/02/concrete5-enterprise-ready-not-entirely/

我们的开发机构在 Concrete5 中维护了多个站点,但在遇到太多错误和性能问题后,我们选择不再在 Concrete5 上构建任何未来站点。

于 2017-02-06T01:12:15.870 回答