首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MySQL:关闭日志是如何影响性能的?

问MySQL:关闭日志是如何影响性能的?
EN

Database Administration用户
提问于 2014-07-30 11:53:53
回答 1查看 1.6K关注 0票数 0
代码语言:javascript
复制
OS: RHEL5
DB: MySQL 5.1.73 community edition
DB size: ~1GB

我已经设置了一个测试环境,并关闭了所有日志--一般日志、二进制日志、慢速查询日志等。

我使用Oracle应用程序测试套件(OATS)来运行负载测试。在注销之后,我会得到糟糕的负载测试结果(更高的时间和较少的通过事务)。理想情况下,我应该得到更好的结果。

  • 是对的还是我漏掉了什么东西?
  • 注销会产生什么影响?

以下是以下结果

代码语言:javascript
复制
SELECT * FROM information_schema.global_variables WHERE VARIABLE_Name like 'log\_%' OR variable_name like '%\_log'

给我:

代码语言:javascript
复制
+---------------------------------+----------------------------+
| VARIABLE_NAME                   | VARIABLE_VALUE             |
+---------------------------------+----------------------------+
| BACK_LOG                        | 50                         |
| LOG_BIN_TRUST_ROUTINE_CREATORS  | OFF                        |
| LOG_WARNINGS                    | 1                          |
| LOG_OUTPUT                      | FILE                       |
| LOG_QUERIES_NOT_USING_INDEXES   | OFF                        |
| LOG_ERROR                       | /var/lib/mysql/rpc4939.err |
| GENERAL_LOG                     | OFF                        |
| LOG_BIN                         | OFF                        |
| RELAY_LOG                       |                            |
| LOG_SLOW_QUERIES                | ON                         |
| SLOW_QUERY_LOG                  | ON                         |
| LOG_BIN_TRUST_FUNCTION_CREATORS | OFF                        |
| LOG_SLAVE_UPDATES               | OFF                        |
+---------------------------------+----------------------------+
EN

回答 1

Database Administration用户

发布于 2014-07-30 19:17:10

除了普通日志和具有非常小的long_query_time**的慢速日志之外,在打开**时,性能不应受到太大影响,因为大多数日志都应该写入文件系统缓存(这些日志不需要事务安全)。

配置和工作负载的某些组合肯定会对性能产生负面影响:

  • 示例:在重写服务器上使用binlog_sync并没有组提交的二进制日志
  • 在mysql的早期版本中,binlog不允许分组提交innodb。
  • 在基于行的复制中更改blobs的大型事务
  • 工作负载通常是非常快速的主键查找,que将这些查询记录在文本中(读生成一个写)。
  • 错误日志不断地用信息的GBs输出临界错误

但是通常,对于运行正常的文件系统缓存(内存压力不太大),事情应该是正常的(小到几乎可以互换的开销,或者由于它们提供的额外功能而允许使用)。例如,即使二进制日志也增加了5%的开销,它允许通过复制和时间点恢复来进行读取。

不应该发生的是禁用它们会降低性能。这要么是测量的错误,要么是由别的东西引起的。

另外,对于将来的读者,请注意不要将“服务器日志”(错误、一般、缓慢、二进制)与InnoDB事务日志混淆。

票数 1
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/72734

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档