magento mysql_优化Magento MySQL的配置

Magento是一个复杂的模式和数以百计的表非常数据库为中心的应用,使用一种被称为建筑实体的属性值模型(EAV)。该模型使得Magento的一个非常强大的、可扩展的平台,但是服务器必须处理这些数据库查询优化。大多数人面临的性能问题,事实上是通过缓慢的IO处理和低效的MySQL的配置引起的。

在你的MySQL服务器,打开配置文件my.cnf。

下面我将给我的最重要的参数的建议。如果你不能找到参数已经在您的配置文件,你可以把它下面的[mysqld]部分。

下面提供的数字是基于一个系统与8 GB RAM和CPU核心8。数字可能取决于你的特定的设置有所不同。

查询缓存

query_cache_type = 1

query_cache_size = 64M

也许最重要的是调整参数的查询缓存。  查询缓存中存储的表连同相应的结果被发送到客户端。  如果一个相同的声明是收到后,从服务器检索查询缓存而不是解析和执行语句的结果再次。  如果你可以查询是否已缓存避免大量昂贵的IO操作。这将对磁性能带来很大的影响。

线程缓存大小

thread_cache_size = 16

MySQL使用一个单独的线程的每个客户端连接。  在环境中的应用程序不附加到一个数据库实例的执著,而是创建和关闭大量连接的每一秒,产生新的线程在高速率的过程可能开始消耗显著的CPU资源。  为了减轻这种负面影响,实现 MySQL线程缓存这使得它能够节省,线程,被关闭和重用他们的新的连接。  参数 thread_cache_size 定义了许多未使用的线程可以在任何时候活着。

关键缓冲

key_buffer = 256M

关键缓冲区用于对于MyISAM表缓冲索引块。  它最大限度地减少磁盘I/O的保持最频繁访问的内存中的表块。  如Magento使用InnoDB很多其较重的数据库表,的MyISAM关键缓冲效果有所降低。然而,这是一个好主意,它比默认的高一点。

表缓存

table_cache = 512

MySQL的配置存储器的一部分 表缓存。table_cache有关max_connections。  例如,200并发运行的连接,你应该有一个至少200×N表缓存,其中n是最大数量的表每参加任何查询您执行。

InnoDB的具体设置

innodb_buffer_pool_size = 512M

innodb_thread_concurrency = 8 #等于CPU核心数量

innodb_additional_mem_pool_size = 800

innodb_log_buffer_size = 4M

Magento使其大量的数据库引擎使用InnoDB表。以上是对缓冲区的大小和存储分配使用innodb的一些建议。

通过我们的研究,我们发现这些设置是最重要的Magento MySQL的优化。我是包括一些可值得探讨的同时,与推荐值。

join_buffer_size=2m

max_heap_table_size=16m

tmp_table_size=16m

max_allowed_packet=2m

read_buffer_size=2m

(责任编辑:最模板)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值