首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将mysql放入内存或使innodb_buffer_pool_size与DB的大小匹配可以提高性能吗?

将mysql放入内存或使innodb_buffer_pool_size与DB的大小匹配可以提高性能吗?
EN

Database Administration用户
提问于 2013-04-15 21:07:17
回答 1查看 2.1K关注 0票数 1

我们有一个mysql数据库,它使用inno_db引擎拥有大约80G (GB)的数据。我们希望提高数据库的性能(我们查看了缓慢的日志,并对db和索引进行了优化),一种方法是获得更好的硬件。

目前,我们的mysql位于一台已有6年历史的服务器上,有16 GB的mem和2xXeon2.00GHz(2个核),最大容量为32 GB。

我们希望为mysql数据库购买一台新服务器,其规格如下:

戴尔PowerEdge R420 -突出显示规格

  • 2 Intel Xeon E5-2450 2.10GHz,20米缓存
  • 128 GB RAM
  • 400固态驱动器

因此,如果数据库是80 GB,我们在这台新服务器上有128 GB内存,那么我的问题(s)是:

我们能否将完整的数据库放入内存并看到性能的提高?

将innodb_buffer_pool_size设置为88 DB实际上是否等同于将“DB放在内存中”?

mysql能利用这个内存吗?在mysql方面,这方面有什么限制吗?

在数据库中加载完整的mysql或拥有如此大的innodb_buffer_pool_size会有什么缺陷吗?

EN

回答 1

Database Administration用户

发布于 2013-04-15 21:21:34

我的雇主的公司有一个客户,使用162 my的缓冲池,内存为192 my。

以下是我们为客户所做的

  • InnoDB调优:我设置了以下选项
    • innodb_read_io_threads (最高达到64)
    • innodb_write_io_threads (最高达到64)
    • innodb_thread_concurrency =0(现在默认为MySQL 5.5/5.6)
    • innodb_io_capacity (将其设置为磁盘的IOP,对于此客户端,为20000 2-0 -0 -0-0 -0)
    • innodb_buffer_pool_size=162G
    • innodb_buffer_pool_instances=2 (物理核数)

  • OS调优(numactl --interleave=all)

如果您忘记了numactl --interleave=all,缓冲池将经历交换。

以下是我过去关于调优InnoDB的文章

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

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

复制
相关文章

相似问题

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