php - 如何提高基于 Joomla 的 Intranet 系统的性能?

标签 php mysql apache joomla intranet

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

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

它有 3 个专用的应用服务器,其配置是:

Windows Server 2008 Standard Edition Service Pack 2
Compiler:   MSVC9 (Visual C++ 2008)
Architecture:   x86

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

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

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

Sl.#    Parameter           Value
1   Key Buffer          547M
2   Sort Buffer Size    256K
3   Query cache limit   4M
4   Cache size          350M
5   Long query time         5
6   Interactive timeout 300
7   Max Connection          800
8   Thread cache size   36

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

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

提前致谢。

最佳答案

首先,如我的评论所述,将您的 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。

关于php - 如何提高基于 Joomla 的 Intranet 系统的性能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20068482/

相关文章:

java - 在 gwt 中调度传入的 RPC 调用时出现异常

php - 在旧的 apache 安装上使用 PHP 5.3

php - PHP中的exec不起作用

mysql - 从 latin_swedish_ci 检索内容并将其存储到 utf8_general_ci

mysql - Solr DataImport 中的中文字符问题

mysql - MySQL 中其他等效项时出现异常

java - 如何在运行时从 Java 代码中获取 server.xml 中配置的 HTTP 和 HTTPS 端口号

javascript - 刷新页面时计时器会重置 javascript

javascript - 使用同名的选择标签

php - "Notice: Undefined variable"、 "Notice: Undefined index"、 "Warning: Undefined array key"和 "Notice: Undefined offset"使用 PHP