相关疑难解决方法(0)

263
推荐指数
10
解决办法
27万
查看次数

可以让 MySQL 使用多个核心吗?

我已经看到一些专用的 MySQL 服务器,它们只使用一个内核。我比 MySQL 的 DBA 更擅长开发,所以需要一些帮助

设置

服务器非常庞大,具有 OLAP/DataWarehouse (DW) 类型的负载:

  • 主要:96GB RAM,8 核 + 单个 RAID 10 阵列
  • 测试:32GB RAM,4核
  • 最大的 DB 是 540 GB,总共大约 1.1TB,主要是 InnoDB 表
  • Solaris 10 Intel-64
  • MySQL 5.5.x

注意:最大的 DB 是从 OLTP DR 服务器复制的 DB,DW 就是从这里加载的。它不是完整的 DW:仅持续 6 个月到 6 周,因此它比 OLTP DB 小。

对测试服务器的观察

  • 3 个独立的连接
  • 每个都有一个并发的(和不同的) ALTER TABLE...DROP KEY...ADD INDEX
  • 这 3 个表有 2.5、3.8 和 450 万行
  • CPU 使用率上升到 25%(一个核心被最大化)并且不会更高
  • 3 次 ALTER 需要 12-25 分钟(最小的一次需要 4.5 分钟)

问题

  1. 需要什么设置或补丁才能允许使用多个内核?
    也就是说,为什么 …

mysql innodb performance tuning mysql-5.5

140
推荐指数
5
解决办法
22万
查看次数

您如何为繁重的 InnoDB 工作负载调整 MySQL?

假设一个主要包含 InnoDB 表的生产 OLTP 系统

  • 系统失调/配置错误的常见症状是什么?
  • 您最常从默认设置更改哪些配置参数?
  • 您如何在问题出现之前发现潜在的瓶颈?
  • 您如何识别和解决活动问题?

任何详述特定status变量和诊断的轶事将不胜感激。

mysql innodb performance

40
推荐指数
3
解决办法
7万
查看次数

防止查询等待表级锁的方法

将客户的数据库移动到额外的服务器后,我们遇到了问题。这应该会对站点的性能产生积极的影响,但是 MyISAM 中的表锁定存在问题。(我听说过使用 InnoDB 代替 MyISAM,但我们不能在不久的将来更改引擎)。
我们可以发现它是一个更新查询,当主持人在文章站点上激活评论时执行该查询。这是过程:

  • 处理更新查询 SET status = 1 WHERE id = 5(设置索引)
  • 页面缓存文件被删除

此时整个页面变得缓慢。数据库本身忙了几分钟。我取了几次进程列表,看到大约 60 个不同选择查询的条目,它们都处于等待表级锁定的状态。

1.我不明白为什么表上的这个更新article_comments会影响表的选择语句article以等待表级锁。在 processlist 中,几乎所有等待的查询都来自该表。我已经读过更新/插入比选择更受欢迎的事实,这可能会导致此类问题,但是当评论被激活时,文章表本身不会更新,因此选择不应该等待。我误解了吗?
2. 除了更改为 InnoDB 之外,还有什么可以防止这种行为或至少是为了获得更好的平衡吗?我对在将数据库移动到新服务器之前没有出现这个问题感到非常恼火。我想有一些配置错误,但我不知道如何识别。

mysql myisam performance mysql-5.5 locking

10
推荐指数
2
解决办法
7万
查看次数

如何在具有 16 GB RAM 的 QuadCore 机器上充分利用 MySQL?

我在我的工作站上运行 MySQL 5.5 服务器以进行科学数据分析,并想知道如何配置 MySQL 以便在性能方面发挥最大作用。我通常运行的查询类型涉及 10-20 个表的连接,并且可以运行很长时间,一到几分钟也不例外。只有极少数用户同时访问数据库(最多 5 个)。我将服务器从具有 2.2 GHz 双核和 4 GB RAM 的联想 Thinkpad T61 移动到以下带有手工选择组件的全新机器:

  • Intel i7 3770,4x 3.4 GHz(以 4x3.7 GHz 运行)
  • Z77芯片组
  • 16 GB DDR3 1600 内存
  • Windows 7 教授 64 位
  • Windows 和 MySQL 服务器在 Intel 520 系列 SSD 驱动器上运行。

第一次测试(在两台机器上运行相同的查询)显示新机器的速度有了明显的提高,但查询仍然需要很多时间,我原以为会有更多的提升。有问题的查询得到了相当好的优化,即所有表都有适当的键,这些键也被用作“解释扩展”。

现在到我当前的 MySQL 设置:首先我应该提到我很久以前从 MyISAM 转移到 Innodb。

我的一些 my.ini 调整(即偏离默认设置):

# Maximum size for internal (in-memory) temporary tables. If a table
# grows larger than this value, it is automatically converted to …
Run Code Online (Sandbox Code Playgroud)

mysql innodb mysql-5 performance mysql-5.5

10
推荐指数
2
解决办法
2万
查看次数

表级锁定的好处

MyISAM 存储引擎使用的表级锁定有什么好处?行级锁定有很多好处,比如并发更新和不锁定表的读取。

编辑 人们普遍认为表级锁定可以防止死锁。但是,以并发为代价来防止死锁如何值得呢?

mysql myisam deadlock locking

7
推荐指数
2
解决办法
7738
查看次数

mySQL v5.6 复制的事务速度基准测试 - 似乎很慢

我正在尝试为我们的新基础架构选择最佳配置,但对结果有些困惑。

我使用 sysbench v0.5 进行测试:

准备数据

 sysbench --test=/usr/share/doc/sysbench/tests/db/oltp.lua \
 --oltp-test-mode=complex --oltp-table-size=1000000 \
 --mysql-db=mydb --mysql-user=root --mysql-password=mypassword prepare
Run Code Online (Sandbox Code Playgroud)

做测试

 sysbench --test=/usr/share/doc/sysbench/tests/db/oltp.lua \
 --oltp-test-mode=complex --oltp-table-size=1000000 --oltp-read-only=off \
 --num-threads=6 --max-time=60 --max-requests=0 \
 --mysql-db=mydb --mysql-user=root --mysql-password=mypassword run
Run Code Online (Sandbox Code Playgroud)

从下面的结果可以看出,主-主复制(3台机器的percona)性能最差,然后是mySQL主-从(2台机器)配置,最快的是mySQL作为单个独立服务器。

这是复制解决方案的正常情况吗?看起来太慢了,配置之间的 10 倍差异在我看来很不正常。也许我错过了一些东西......我对 Percona Galera Cluster 完全失望,它以对 innodb 的速度着称。呼:)

请检查下面提供的信息并提出建议,谢谢。

关于服务器


硬件

  • 英特尔® 至强® E5-1650 v2 六核
  • 64 GB ECC 内存
  • 2 x 240 GB 6 Gb/s SSD 数据中心版(软件-RAID 1)
  • 1 Gbit/s 带宽

操作系统

  • Debian Wheezy
  • 所有软件包都已更新/升级。

连接等

  • 服务器位于同一个数据中心,都与一个 Gbit 交换机相连,并有第二个以太网卡,所有这些都配置为它们之间的专用网络。

  • 目前,服务器上没有负载。

磁盘性能

第一次测试

# hdparm -Tt …
Run Code Online (Sandbox Code Playgroud)

mysql replication performance configuration percona

6
推荐指数
1
解决办法
3万
查看次数