【问题标题】:How to improve performance of my Joomla based Intranet system?如何提高我基于 Joomla 的 Intranet 系统的性能?
【发布时间】:2013-11-19 10:03:40
【问题描述】:

我有一个基于 Joomla 1.5.10 的 Intranet 系统。在这个应用程序中,我们有超过 80% 的自定义扩展。下面是配置:

Apache 版本:Apache/2.2.22 (Win32) mod_ssl/2.2.22 OpenSSL/0.9.8 PHP版本:5.3.13 MySQL版本:mysqlnd 5.1.11

它有 3 个专用的应用服务器,配置如下:

Windows Server 2008 标准版服务包 2 编译器:MSVC9 (Visual C++ 2008) 架构:x86

同样,它有专用的数据库服务器,配置如下:

 8x Intel(R) Xeon(R) CPU X5460 @3.16GHz,8.0GB RAM,Windows Server 2008 Standard Edition Service Pack 2。

以下是我系统中的 MySQL 设置:

Sl.#参数值 1 键缓冲器 547M 2 排序缓冲区大小 256K 3 查询缓存限制4M 4 缓存大小350M 5 查询时间长 5 6 交互超时 300 7 最大连接数 800 8 线程缓存大小 36

我们已在我们的服务器上配置 WAMPSERVER (32 BITS & PHP 5.3) 2.2E,然后在其他专用服务器上安装 MySQL5.1。因此,我们没有使用 WAMP 提供的 MySQL。 当数据库连接线程数超过 100 时,我的系统变得太慢或崩溃。我们可以看到的登录用户数仅为 3000-5000。多个查询开始记录在慢查询日志中,并且大量查询处于睡眠状态。那些正常运行的查询也开始记录慢查询日志并花费大量时间执行。 我无法在我的系统中找到瓶颈。是否有 Joomla 或 MySQL 造成瓶颈。升级是否有助于避免瓶颈并提高我们系统的性能?如果是,我们应该升级什么 - Joomla 或 MySQL 以及升级系统的策略是什么。 1.5.10 中是否存在通过升级解决的已知性能/可扩展性问题?

我的总体目标是提高系统性能。

提前致谢。

【问题讨论】:

  • Joomla 1.5.10?严重地?至少更新到 Joomla 1.5.26 甚至更好,升级到 2.5 或 3.2
  • 升级到 1.5.26 将获得哪些性能改进?我们有很多自定义扩展。 1.5.10 中是否存在通过升级解决的已知性能/可扩展性问题。
  • 好吧,就是这样,你比 1.5.26 落后 16 个版本。在此期间,修复了许多错误和安全问题。错误修复有时可以提高性能。升级不会损害您的自定义扩展。另请注意,即使这是一大步,升级到 Joomla 3.2 也会提高性能。这可能只是因为自定义扩展的编码错误,这可以解释性能不佳的原因。
  • 谢谢@Lodder。当我们搜索更新版本的 joomla 的好处时,最大的好处与功能增强有关,例如 UI 增强、更用户友好的功能、搜索、响应式设计支持、ACL 增强等。没有与性能改进相关的此类信息。因为,我们已经实现了我们自己的 ACL、搜索、内容管理组件。因此,更新的功能对我们来说并不重要。 Joomla 在其较新版本中是否有任何基于架构的增强功能可以提高我们的性能?
  • @ursitesion:cms 升级最有可能破坏一些东西。

标签: php mysql apache joomla intranet


【解决方案1】:

首先,正如我的 cmets 中提到的,将您的 CMS 升级到至少 Joomla 1.5.26 会有所帮助。您正在运行 PHP 5.3,只有 Joomla 1.5.15+ 与此 PHP 版本完全兼容。看到你使用的是 1.5.10,会有一些问题。

Apache 在这里不是问题。有些网站运行 Joomla,拥有成千上万的用户,并且运行 Aache 没有任何问题,所以不用担心。

从 Joomla 1.6 开始,优化开始了。减少和排序的数据库表,无尽的错误修复以及安全问题。该框架也得到了重大改进,更不用说它支持 PDO、mysqli(比 mysql 更安全)和 postgre。升级到 Joomla 3.2(最新版本)当然是一大步。您必须使所有自定义扩展与新的 Joomla 版本兼容,并与最新的编码标准保持同步。尽管这是一大步,当然需要一些时间,但这是完全值得的。 Joomla 1.5 已经很久没有得到支持了,事情正在向前发展。

您的服务器规格很好,您正在运行一个不错的 PHP 和 Apache 版本,您的 MySQL 版本可以升级但它仍然不错。所以总的来说,这不是服务器相关的问题。

我确实认为这很可能是您的自定义扩展的编码方式。所以我最后的建议是简单地备份你的网站并开始将它和你所有的扩展迁移到 Joomla 3.2。

【讨论】:

  • 可以直接将1.5.10系统迁移到3.2吗?这将需要彻底重写系统。
  • 您首先需要升级到 1.5.26,以便下次迁移顺利进行。完成后阅读this,它将向您展示如何升级到 2.5,从那时起,升级到 3.2 将是后端的一键更新。请注意,这不会更新您的自定义扩展。您需要手动执行此操作
  • 谢谢@Lodder。我们根据 PHP 5.3 版本的更改更改了我们的代码。 Joomla 升级需要完全重写系统。我们的 Intranet 系统太大了,你可以通过这个系统中使用的表的数量来想象它 - 241。要做到这一点,我们需要足够的时间。但是,我们需要尽快提高 Intranet 的性能。将 MySQL 从 5.1 升级到 5.5 会有帮助吗?这将比升级 Joomla 花费更少的时间。
  • @lodder 如果您怀疑问题出在自定义扩展代码上,joomla 升级实际上会有多大帮助。即使在升级之后,一些编码错误的自定义扩展也很可能会出现问题。
  • 从 MySQL 5.1 升级到 5.5 并没有太大的区别。您实际上无法做任何与服务器相关的事情。正如我的回答中所述,很可能是您的自定义扩展导致了问题。如果迁移到 Joomla 3.2 会花费太多时间,那么至少更新到 Joomla 1.5.26,因为您当前的版本与 PHP 5.3 不完全兼容
【解决方案2】:

您可以更改网络服务器。阿帕奇完全膨胀。 Lighttpd 可以帮助解决问题。运行起来也更简单。 cms 升级很可能会破坏某些东西。

【讨论】:

  • 使用 Apache 运行 Joomla 没有任何问题。不确定确切的统计数据,但我会说大多数 Joomla 托管网站都运行 Apache。
  • @Lodder:太复杂了。
  • 是的,我同意,Apache 要复杂得多,但是从 OP 的服务器规范来看,Apache 不是这里的问题。 80% 的扩展是自定义的 + 他使用的是绝对古老的 Joomla 版本,因此它有问题并且扩展很可能编码错误。
  • @Phpdna:为 APACHE 提供配置变量以获得更好的性能将是一个很大的帮助。 Apache 的配置错误可能是性能下降的原因。我们不能这么轻易地切换到 Lighttpd。更推荐坚持使用 Apache。
猜你喜欢
  • 1970-01-01
  • 2019-08-11
  • 2010-09-13
  • 2022-01-20
  • 2020-08-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多