我正在使用 MySQL-5.1.50 和主从复制设置。
大多数情况下,slave 落后于 master。
当我运行时show processlist;,没有需要很长时间的查询。我也启用slow_log了。但是,它没有发现任何运行缓慢的查询。
从站不断发出警报,指出复制落后于主站几秒钟。有时,滞后时间会增加。
如何诊断问题的原因?
我需要紧急帮助,因为这个问题已经持续了 20 天。
您好,我正在运行最新版本的 Percona Server。
服务器版本:5.5.24-55 Percona Server (GPL),26.0 版
我有一个10个cpu的盒子有这些特点。
processor : 0
vendor_id : AuthenticAMD
cpu family : 16
model : 9
model name : AMD Opteron(tm) Processor 6128
stepping : 1
microcode : 0x10000d9
cpu MHz : 800.000
cache size : 512 KB
Run Code Online (Sandbox Code Playgroud)
它具有 SSD 和 64GB 的 RAM。Innodb 大约为 10GB,因此 innodb_buffer_pool_size 设置为 10GB。
我有一张如下表:
create table TODAY
( symbol_id integer not null
, openp decimal(10,4)
, high decimal(10,4)
, low decimal(10,4)
, last decimal(10,4) not null
, volume …Run Code Online (Sandbox Code Playgroud) 我在我的工作站上运行 MySQL 5.5 服务器以进行科学数据分析,并想知道如何配置 MySQL 以便在性能方面发挥最大作用。我通常运行的查询类型涉及 10-20 个表的连接,并且可以运行很长时间,一到几分钟也不例外。只有极少数用户同时访问数据库(最多 5 个)。我将服务器从具有 2.2 GHz 双核和 4 GB RAM 的联想 Thinkpad T61 移动到以下带有手工选择组件的全新机器:
第一次测试(在两台机器上运行相同的查询)显示新机器的速度有了明显的提高,但查询仍然需要很多时间,我原以为会有更多的提升。有问题的查询得到了相当好的优化,即所有表都有适当的键,这些键也被用作“解释扩展”。
现在到我当前的 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) 我们公司的服务器目前托管在 VPS 上,我们决定迁移到专用服务器。
在为数据库服务器选择最佳硬件时,我们应该投入更多资源:更好的 CPU(更多内核)?或更多的内存?
最佳投资回报率在哪里?
有什么建议?
我正在运行 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) 我有两个经常更新的表,一个是直接的UPDATE ..,另一个是直接的,INSERT .. ON DUPLICATE KEY UPDATE ...通常这些查询是即时的,但有时需要 0.1 秒到 1+ 秒,然后又是即时的几秒钟。
另一件事要注意,我有两个 MySQL 服务器(在同一个专用网络中)。所有选择查询(除了一两个)都在从站上执行,这里看到的插入当然在主站上。当数据库处于大负载下时,速度减慢最为明显。最后,我正在使用 xtradb(看看它是否有帮助),但在纯 MySQL 5.5 InnoDB 上发生了相同的行为。
-- CustomData
+-----------+---------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-----------+---------+------+-----+---------+-------+
| Server | int(11) | NO | PRI | NULL | |
| Plugin | int(11) | NO | PRI | NULL | |
| ColumnID | int(11) | NO | PRI | NULL | |
| DataPoint | …Run Code Online (Sandbox Code Playgroud) 特别是双 CPU 32 核 - 128RAM - RAID 10 SSD。Ubuntu 64 服务器。
有时 Innodb 负载很重 - 每秒约 2000 多个查询。重读和写。
目前我们在默认的 write_io_threads 上运行 4。
我们是否“削弱”了我们服务器的能力?在 max write_io_threads=64 和 read_io_threads = 64 上运行它是否安全?
这个数字是如何确定的?
我在 MySQL 5.0.15 上创建了一个数据库。我有一个查询,当我在这个 MySQL 版本上运行这个查询时,我得到 0.9 秒的运行时间。当我将此数据库导入到另一个具有相同硬件的 MySQL 服务器并运行相同的查询时,我得到了 120 多个,有时 MySQL 挂起。
5.0 和 5.1 或 5.5 有什么区别?我已经测试了 5.1 和 5.5 版本。
在较新版本中查询是否可能需要更长的时间(例如 mysql 结构更改)?
对不起,我不能把这个查询放在这里,但查询是这样的:
SELECT fl_passenger_ticket. *,
fl_aganc.name AS agancname,
fl_pnr.remark AS remark,
fl_pnr.reservetime AS reservetime,
fl_pnr.cancelpnr,
fl_flight_date.fromcity AS fromcity,
fl_flight_date.tocity AS tocity,
fl_flight_date.flightdate AS flightdate,
fl_flightdate_capacity.adultper AS adultper,
fl_flightdate_capacity.childper AS childper,
fl_flightdate_capacity.infantper AS infantper,
fl_flightdate_capacity.cancel AS cancelsegment,
fl_flightdate_capacity.tax1adultpric,
fl_flightdate_capacity.tax1childpric,
fl_flightdate_capacity.tax1infantpric,
fl_flightdate_capacity.tax2adultpric,
fl_flightdate_capacity.tax2childpric,
fl_flightdate_capacity.tax2infantpric,
( fl_flightdate_capacity.tax3adultpric +
fl_flightdate_capacity.tax4adultpric +
fl_flightdate_capacity.tax5adultpric ) AS taxxtadultpric,
( fl_flightdate_capacity.tax3childpric + …Run Code Online (Sandbox Code Playgroud) 我现在正在学习成为一名 DBA,因为我管理着一个非常敏感的大型实时数据库。这是我的专用数据库服务器的当前系统统计信息:
MySQL 5.5.23
top - 18:40:27 up 14 days, 4:43, 1 user, load average: 19.72, 22.62, 24.04
任务:总共183个,3个运行,180个睡眠,0个停止,0个僵尸
Cpu(s): 69.9%us, 0.4%sy, 0.0%ni, 29.2%id, 0.0%wa, 0.1%hi, 0.4%si, 0.0%st
内存:总共 24685224k,已使用 20172096k,4513128k 空闲,343420k 缓冲区
交换:总共 2007284k,已使用 0k,可用 2007284k,缓存 729004k
PID 用户 PR NI VIRT RES SHR S %CPU %MEM TIME+ 命令
5446 mysql 15 0 18.4g 17g 6176 R 765.8 76.2 114437:38 mysqld
我目前正在使用 50gb FusionIO 片中的 43gb。MySQL 平均大约 700 QPS 和 …
我正在尝试为我们的新基础架构选择最佳配置,但对结果有些困惑。
我使用 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 的速度着称。呼:)
请检查下面提供的信息并提出建议,谢谢。
服务器位于同一个数据中心,都与一个 Gbit 交换机相连,并有第二个以太网卡,所有这些都配置为它们之间的专用网络。
目前,服务器上没有负载。
第一次测试
# hdparm -Tt …Run Code Online (Sandbox Code Playgroud)