+7 (7232) 91-95-12

帮助

Bitrix CMS 性能优化指南

如果您正考虑提高基于 Bitrix CMS 的网站性能,第一步是将网站迁移到安装有 Bitrix7 系统的服务器上。您可以通过控制面板轻松创建带有 Bitrix7 系统的服务器。

您可以选择自行迁移网站,或者寻求我们专家的帮助。

CMS 端的配置

网站完成迁移后,即可开始对 CMS 进行优化配置。

  1. 确保“系统检查 (System Check)”部分没有任何错误记录。
  2. 检查“Bitrix”选项卡下的“性能面板 (Performance Panel)”。此处应选择“Bitrix (最佳) (Optimal)”值。
  3. 将数据库表类型更改为 InnoDB 并执行数据库优化。在操作之前,请务必先创建数据备份。

服务器端的配置

接下来,我们进入服务器层面的设置。

  1. 使用 root 用户凭据通过 SSH 连接到服务器。
  2. 使用以下命令启动 Bitrix 虚拟环境菜单:
~/menu.sh
  1. 选择选项 4. Configure memcached servers
  2. 系统将开始安装 memcached。在安装过程中,需要指定服务器的 hostname。请输入屏幕表格中显示的 ServerName 值。
  1. 安装完成后,配置 /etc/sysconfig/memcached 配置文件。

使用文本编辑器打开该文件(例如使用 nano):

nano /etc/sysconfig/memcached

如果系统中没有 nano,可以使用 yum install nano 命令安装,或者使用服务器上已有的其他编辑器(如 vim)。

设置以下参数:

# 最大并发连接数(默认为 1024)
MAXCONN = "1024"

# 分配给缓存的内存大小(单位为 MB,建议根据 RAM 大小调整)
CACHESIZE = "1024"

# memcached 的线程数
OPTIONS = "-t 4"

保存更改。

  1. 使用以下命令重启服务:
systemctl restart memcached.service
  1. /bitrix/php_interface/dbconn.php 文件中添加 memcached 连接配置。执行以下命令:
nano /网站根目录路径/bitrix/php_interface/dbconn.php

网站根目录路径 替换为您系统中的实际路径,并在文件中添加以下参数:

define("BX_CACHE_TYPE", "memcache");
define("BX_CACHE_SID", $_SERVER["DOCUMENT_ROOT"]."#01");
define("BX_MEMCACHE_HOST", "127.0.0.1");
define("BX_MEMCACHE_PORT", "11211");

保存更改。

  1. 打开 /bitrix/.settings_extra.php 文件(如果该文件不存在,执行同样的命令将创建一个新文件):
nano /网站根目录路径/bitrix/.settings_extra.php

在文件中添加以下参数:

<?php
return array(
  'cache' => array(
    'value' => array(
      'type' => 'memcache',
      'memcache' => array(
        'host' => '127.0.0.1',
        'port' => '11211',
      ),
      'sid' => $_SERVER["DOCUMENT_ROOT"]."#01"
    ),
  ),
);
?>

保存更改。

注意: memcached 配置不当可能会对性能产生负面影响。如果您发现性能下降,可以尝试调整第 5 步中 /etc/sysconfig/memcached 配置文件里的数值。

  1. 为了进一步提升网站性能,除了启用 memcached 外,还可以将 MySQL 的临时文件目录移动到 RAM 磁盘 (RAM-disk) 中。

请按照以下步骤操作:

9.1. 创建临时文件目录,例如 /var/lib/mysql/tmp

mkdir /var/lib/mysql/tmp

9.2. 将该目录的所有者和所属组更改为 mysql

chown mysql:mysql /var/lib/mysql/tmp

9.3. 获取 mysql 用户的用户标识符 (uid) 和组标识符 (gid):

id mysql

9.4. 编辑 /etc/fstab 文件:

nano /etc/fstab

在文件末尾添加一行,填入上一步获取的 ID 值:

tmpfs /var/lib/mysql/tmp tmpfs rw,gid=27,uid=27,size=1G,nr_inodes=10k,mode=0700 0 0

size 参数的值应根据您可用的物理内存量进行设置。

9.5. 挂载新的 tmpfs 分区:

mount /var/lib/mysql/tmp

9.6. 修改 MySQL 配置文件 /etc/mysql/my.cnf,添加以下行:

tmpdir=/var/lib/mysql/tmp

9.7. 重启 MySQL 服务:

systemctl restart mysqld
  1. /etc/mysql/conf.d/z_bx_custom.cnf 文件中添加以下参数:
innodb_flush_log_at_trx_commit = 0

该参数允许使用延迟事务提交,能显著提高写入速度。

如有任何疑问,请联系我们