相关疑难解决方法(0)

可以让 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万
查看次数

多核和 MySQL 性能

RAM 的重要性是一个既定的事实,但在 MySQL 使用 CPU 时,关于内核和多线程重要性的资料要少得多。我说的是在 4cores vs 6cores vs 8cores 上运行 MySQL 的区别等等。

不同的存储引擎使用 CPU 的方式不同吗?

mysql performance

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

CPU 性能与数据库服务器相关吗?

这是一个纯理论问题。假设我在多台服务器上部署了一个应用程序。

  1. 负载均衡器,
  2. 多个/可扩展的应用程序服务器
  3. 一个(单一的)数据库服务器(目前)

在前两个部分,我知道要寻找什么。但是数据库服务器呢?我应该寻找什么样的硬件?

  • CPU 频率与数据库服务器相关吗?
  • 多核 CPU 是否相关?
  • RAM比CPU重要吗?

PS:假设选择的数据库是 MySQL 或 PostgreSQL。

mysql postgresql performance

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

在 Debian 上使用多个内核进行单个 MySQL 查询

我正在运行 MySQL 服务器,以在 Debian 作为来宾操作系统的 VM (VMWare) 上进行测试。来宾有四个模拟 CPU 内核,因此我将 thread_concurrency 设置为四个。

我在大型表上执行昂贵的连接,这可能需要几分钟,但我在来宾操作系统上看到,一次只使用一个核心。无论用于所涉及的表的存储引擎如何(使用 MyISAM 和 InnoDB 测试),都会发生这种情况。此外,在执行这些大型查询时,整个数据库似乎都被阻塞了,我无法并行执行任何其他查询。奇怪的是 htop 显示,用于查询的核心在查询运行时发生了变化!

为什么会发生这种情况?

这是来自SHOW FULL PROCESSLIST;(没有其他查询)的相关条目:

| 153 | root       | localhost | pulse_stocks  | Query   |   50 | Copying to tmp table | 
SELECT DISTINCT * FROM 
`pulse_stocks`.`stocks` sto,
`pulse_new`.`security` sec
WHERE
(sto.excntry = sec.excntry AND sto.stock_id = sec.ibtic) OR
( sto.isin = sec.isin AND sto.isin <> "" AND sec.isin <> "" )
ORDER BY
sto.id
LIMIT 0, 30 
Run Code Online (Sandbox Code Playgroud)

没有其他待处理的查询。另一个有趣的观察是,如果我省略这 …

mysql innodb myisam concurrency parallelism

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

MySQL 5.0.88 升级到最新版本

我有一些关于从 5.0.88 升级到最新版本的问题。

  1. 我为什么要升级?
  2. 如果是这样,我应该考虑哪个版本?
  3. 所有已知的风险是什么?
  4. 是否建议逐步升级?还是建议使用二进制替换?

mysql upgrade mysql-5.0

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

我应该使用 MyISAM 以外的存储引擎来优化这些表还是应该获得更好的磁盘?

我正在开发一个生产数据库,它的 4 个最大的表每个包含 400 万到 1000 万行,每个包含大约 15 个字段,并在不同的字段类型(数字、varchar 和文本)上有索引。总index_length容量为 2.2GB,总容量data_length为 6GB。所有这些表都使用 MyISAM,它们的读/写比为 66/33。

这是空闲时间 /etc/init.d/mysql status 的输出:

Server version          5.1.37-1ubuntu5
Protocol version        10
Connection              Localhost via UNIX socket
UNIX socket             /var/run/mysqld/mysqld.sock
...

Threads: 27  Questions: 5430994  Slow queries: 59  Opens: 298  Flush tables: 1  Open tables: 128  Queries per second avg: 182.695
Run Code Online (Sandbox Code Playgroud)

在高峰时段,每秒的查询数约为 300。

在过去的几周里,数据库变得如此缓慢,有时查询会锁定 2 分钟以上。所以,我增加到key_buffer_size4GB(我机器上有 8GB)。锁定时间减少了。但是在高峰时段还是难以忍受,尤其是读写比接近50/50的时候。

服务器在虚拟环境中运行,因此 I/O 不是很好,并且大多数选择查询ORDER BY <some_indexed_field>在平均 50k 行的结果集上执行。

之前我已经成功地调整了这个数据库,但现在它仍然较小,但现在我被卡住了。

更新: 白天磁盘利用率很容易达到 100%。

mysql myisam database-tuning

5
推荐指数
1
解决办法
1138
查看次数

我有 16GB 的内存,我应该如何配置 MySQL 服务器?

我有一台带有多个 CPU 和 16GB RAM 的专用生产服务器。

如何配置它以利用服务器资源以获得更好的性能?网站流量不断增加,MySQL 开始使用大量 CPU。

这是我当前的MySQL 服务器配置

我还计划优化数据库,并检查查询以改善缓慢的查询。

mysql memory configuration

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

MySQL 高 CPU 使用率(MyISAM 表索引)

我有一个继承的 MySQL 数据库的问题。mysqld 有时会使用高达 2300% 的 CPU。唯一的解决方案是服务 mysql stop 并在表上运行 myisamchk -r。修复索引后,我启动 MySQL,一切正常。

关于永久解决方案的任何想法?

编辑(来自评论):

使用 5.5.29-0ubuntu0.12.04.2-log

key_buffer = 16M 
max_allowed_pa​​cket = 16M 
线程堆栈 = 128K 
线程缓存大小 = 8 
myisam-recover = 备份 
最大连接数 = 500 
#table_cache = 512 
#thread_concurrency = 10 
query_cache_limit = 1M 
query_cache_size = 16M 
SELECT SUM(index_length) ndxsize 
FROM information_schema.tables 
WHERE engine='MyISAM'
Run Code Online (Sandbox Code Playgroud)

返回

+-----------+ 
| ndxsize |
+-----------+
| 59862016 |
+-----------+ 
SELECT SUM(data_length+index_length)/power(1024,2) datndxsize 
FROM information_schema.tables 
WHERE engine='MyISAM'
Run Code Online (Sandbox Code Playgroud)

返回:

+--------------------+ 
| 数据大小 |
+--------------------+
| 488.69915199279785 | …

mysql myisam

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