相关疑难解决方法(0)

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

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

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

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

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

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

mysql postgresql performance

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

频繁查询缓存失效的开销值得吗?

我目前正在研究一个 MySQL 数据库,我们看到查询缓存中有大量无效,主要是因为在许多表上执行了大量的 INSERT、DELETE 和 UPDATE 语句。

我要确定的是,允许将查询缓存用于针对这些表运行的 SELECT 语句是否有任何好处。由于它们很快就失效了,在我看来,最好的办法是在这些表的 SELECT 语句上使用 SQL_NO_CACHE。

频繁失效的开销值得吗?

编辑:应以下用户@RolandoMySQLDBA 的要求,这里是有关 MyISAM 和 INNODB 的信息。

数据库

  • 数据大小:177.414 GB
  • 索引大小:114.792 GB
  • 表大小:292.205 GB

我的ISAM

  • 数据大小:379.762 GB
  • 索引大小:80.681 GB
  • 表大小:460.443 GB

附加信息:

  • 版本:5.0.85
  • 查询缓存限制:1048576
  • query_cache_min_res_unit:4096
  • 查询缓存大小:104857600
  • query_cache_type:开启
  • query_cache_wlock_invalidate:关闭
  • innodb_buffer_pool_size: 8841592832
  • 24GB 内存

mysql innodb myisam performance cache

23
推荐指数
1
解决办法
9977
查看次数

在 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 推荐硬件

我们公司的服务器目前托管在 VPS 上,我们决定迁移到专用服务器。

在为数据库服务器选择最佳硬件时,我们应该投入更多资源:更好的 CPU(更多内核)?或更多的内存?

最佳投资回报率在哪里?

有什么建议?

mysql database-recommendation

8
推荐指数
1
解决办法
4万
查看次数

Mysql慢慢使用内存,直到开始使用swap

我正在运行 1gb 的 RAM 机架空间数据库服务器。出于某种原因,在大约 2 天内,内存使用量从使用很少的交换变为使用 100mb。如果我不重新启动 sql,它将继续使用更多的交换。(我的 my.cnf 文件如下所示,内存使用情况如下所示)

一些背景:我有大约 50 个活动数据库,它们具有相同的模式,这些数据库使用 INNODB 来处理表。我有几个使用 MyISAM 的流量很少的数据库。

在 INNODB 表上,我不使用持久连接。我还有一个创建临时表的报告功能。(这可能是资源密集型的,但并不经常发生)

我正在使用 CENTOS 6.3 和 mysql 5.5.28-log

即使我使用的是swap,性能仍然相当不错。我只是担心如果我每隔几天不重新启动我就会出问题。

这是我大约 2 天的 free -m 日志:(第一条记录是在 mysql 重新启动后)

12/26 2:08 PM EST
             total       used       free     shared    buffers     cached
Mem:           992        697        295          0         74        362
-/+ buffers/cache:        260        732
Swap:          976         15        961

12/26 4:10 PM EST
[root@php-pos-db ~]# free -m
             total       used       free     shared    buffers     cached
Mem:           992        791        201          0 …
Run Code Online (Sandbox Code Playgroud)

mysql innodb performance

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

什么时候从 MyISAM 切换到 InnoDB?

我们有一个 MySQL 5.0 服务器,以 MyISAM 的形式运行所有表。我们有两个奴隶,在上个月,我们已经升级到 MySQL 5.5。他们的表也仍然是 MyISAM。

我原来的计划是把5.0的master升级到5.5,然后转成InnoDB。现在我想知道,在升级之前开始是否更有意义?我一直很谨慎,因为我听说 5.5 下的 InnoDB 比 5.0 下的 InnoDB 快得多。这是没有根据的,我现在应该开始吗?

mysql innodb myisam mysql-5.5

7
推荐指数
1
解决办法
7255
查看次数

MySQL 5.5 - 在高端系统上确定正确的 write[read]_io_threads?

特别是双 CPU 32 核 - 128RAM - RAID 10 SSD。Ubuntu 64 服务器。

有时 Innodb 负载很重 - 每秒约 2000 多个查询。重读和写。

目前我们在默认的 write_io_threads 上运行 4。

我们是否“削弱”了我们服务器的能力?在 max write_io_threads=64 和 read_io_threads = 64 上运行它是否安全?

这个数字是如何确定的?

mysql innodb performance tuning mysql-5.5

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

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

为 MySQL 使用超过 4 个 CPU 是否有好处?

我们在 Linux 上的 VMWare 下运行 MySQL 5.5,在 2 个 CPU 上运行。我们计划将其增加到 4,但我们有未使用的 CPU,我想知道将数量增加到 8 是否有任何好处?

mysql innodb mysql-5.5 vmware

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