- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我正在尝试从 Azure Database for MySQL Server
自动执行所有数据库的 mysql 转储。当前数据库大小:
mysql> SELECT table_schema "DB Name", Round(Sum(data_length + index_length) / 1024 / 1024, 1) "DB Size in MB"
FROM information_schema.tables GROUP BY table_schema;
+--------------------+---------------+
| DB Name | DB Size in MB |
+--------------------+---------------+
| db1 | 278.3 |
| db2 | 51.8 |
| information_schema | 0.2 |
| mysql | 8.9 |
| performance_schema | 0.0 |
| db3 | 43.3 |
| sys | 0.0 |
+--------------------+---------------+
7 rows in set (31.80 sec)
我在不同的虚拟机上有一个 python 脚本,它调用 mysqldump
将所有这些转储到文件中。但是,我遇到了 db1
的问题。它正在转储到文件中,但速度非常慢,30 分钟内不到约 4MB。然而,db2
和 db3
几乎立即转储(几秒钟)。
我尝试了以下所有选项和组合来查看写入速度是否发生变化,但没有变化:
--compress
--lock-tables (true / false)
--skip-lock-tables
--max-allowed-packet (512M)
--quick
--single-transaction
--opt
我目前甚至没有使用该脚本,只是在 shell 中运行命令,结果相同。
mysqldump -h <host> -P <port> -u'<user>' -p'<password>' db1 > db1.sql
db1
有约 500 个表。
我知道它比 db2
和 db3
大,但并没有那么大,我想知道是否有人知道这里可能存在什么问题?
编辑
在这些有用的答案和谷歌研究表明数据库很可能没问题之后,我通过将服务器上的 db1
数据库复制到测试数据库中来运行测试,然后逐一删除表以减少尺寸。在 50MB 左右时,写入变得像其他数据库一样即时。这让我相信 Azure 中存在一些限制,因为数据库很好,我们将与他们的支持团队一起解决这个问题。我还在 Google 上发现了很多提示 Azure 数据库速度的帖子。
与此同时,我更改了脚本以忽略大型数据库。我们将尝试将数据库移动到 Azure 提供的 SQL Server
或带有 mysql 服务器的简单虚拟机,看看在哪里可以获得更好的性能。
最佳答案
MySQL 服务器端可能会很慢,但似乎不太可能。您可以打开第二个 shell 窗口,连接到 MySQL 并使用 SHOW PROCESSLIST
或 SHOW ENGINE INNODB STATUS
来检查是否有卡住的查询或锁定。
如果存储速度非常慢,也可能在将数据写入 db1.sql 时遇到问题。但4MB就是30分钟。太荒谬了。确保保存到运行 mysqldump 的实例的本地存储中。不要保存到远程存储。另请注意,如果您要写入转储的存储卷有其他大量 I/O 流量使其饱和,这可能会减慢写入速度。
测试数据写入缓慢的另一种方法是尝试 mysqldump ... >/dev/null
,如果速度很快,那么这是一个很好的线索,表明缓慢是由于磁盘写入。
最后,有可能是网络导致速度缓慢。如果将转储文件保存到/dev/null 仍然很慢,我会怀疑网络。
<小时/>答案在 https://serverfault.com/questions/233963/mysql-checking-permission-takes-a-long-time表明“检查权限”缓慢可能是由于 MySQL 授权表中的数据过多(例如 mysql.user
)造成的。如果您有数千个用户凭据,这可能就是原因。您可以尝试消除这些条目(然后运行FLUSH HOSTS
)。
关于mysql - 使用 `mysqldump `写入数据库缓慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46007949/
我最近从 Indigo“升级”到了 Luna(Oracle OEPE 安装)。请注意围绕“升级”一词的引用。 不幸的是,事情很慢。 我使用的项目是一个 Maven 多模块项目。构建工作区操作大约需要
如果我的 JavaScript 事件似乎都不是网页性能问题的原因,我该如何诊断网页性能问题? 我有一个使用jqGrid的网络应用程序。单击网格会导致 2-3 秒的卡住,然后发生任何事情(包括点击任何单
从 appengine 访问我的应用程序时,我经常收到以下错误。有人可以知道这是什么原因吗? 原因:com.google.apphosting.api.DeadlineExceededExceptio
出于某种原因,我的 curl 调用非常慢。这是我使用的代码。 $postData = "test" $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $
Stackdriver 测试我的网站启动速度慢 我们使用 cloudflare 作为我们的站点 CDN 提供商。我们使用 stackdriver 从外部测试站点可用性,我们将时间检查间隔设置为 1 分
在插入/更新许多行时,我知道SQLite的“问题”,但事实并非如此。 我正在更新包含约250条记录的表中的ONE一行(由PK索引)中的ONE字段。查询通常需要200毫秒左右的时间。听起来很少,但很大。
我们的 Mongo 数据库会定期(有时每天一次)变慢约 30-40 分钟。在此缓慢时期,访问数据库的 API 会遇到每 5-10 分钟就会出现一次的高延迟峰值。 查看 mongod 日志文件,这两
这个问题已经在这里有了答案: 已关闭8年。 Possible Duplicate: C# WinForm Application - UI Hangs during Long-Running Oper
我最近将我的 Java Liquibase 版本从 3.5.3 升级到 3.6.3 我有一个非常繁重的环境,其中有很多数据库和表(我使用的是 Oracle)。 在这种环境下,我试图执行一个巨大的变更日
在我的项目中,为了整洁起见,模块被组织在子目录中。 我的项目目录层次结构: $ ls -R .: configure.in Makefile.am Makefile.cvs src
我正在 Debian 上使用存储库中的软件包运行 Gitlab。大多数时候Gitlab运行速度非常快,但是在较长的空闲时间后Gitlab非常慢甚至超时(错误502)。有一次我在远程 git 访问上也遇
这可能是菜鸟的错误,所以请原谅我。我在高处和低处寻找解决方案,但没有结果-因此,我想在此添加第一篇文章:-) 我有两个域类,一个称为Domain,一个称为Page。如下代码所示,域中有许多页面。 cl
我是 React 的新手,在使用 onChange 时遇到了问题在大数据列表中生成的输入字段上的方法。 如 parentcomponent是数据的拥有者,我提供了handleUpdate()子组件 (
我们使用 Webpack DefinePlugin 为不同的渲染模式生成输出包。因此,例如,我们的 webpack 配置将返回 [{ entry: { mode1: "./in
我在页面顶部有一个带有菜单的标题元素。当我向下滚动时,标题会动画到较低的高度。当我向上滚动并到达顶部时,标题会以动画方式显示为原始大小。 但它的工作并不完美。有时,事情发生之前需要两秒钟。特别是当我向
我今天在我的文本编辑器(Sublime)中写了一些正则表达式,试图快速找到特定的源代码段,这需要有点创意,因为有时函数调用可能包含更多函数调用。例如,我正在寻找 jQuery 选择器: $("div[
ParentSadly 我没有通过搜索“laggy/slow mouse wheel-scrolling in Rich Edit control”和类似的句子找到答案。 我创建了一个丰富的编辑控件
我遇到了“OR”运算符在 mysql 中未使用任何索引的典型性能问题: SELECT sms.smsID, sms.phonenumber, sms.text, date, mbr.name, mbr
我最近一直在玩 asyncio 模块。下面是我想出的用于发送一些并行请求的代码,这些请求在我的笔记本电脑 (Mac OS) 上似乎运行良好,但在另一台机器 (Ubuntu 18.04) 上似乎运行缓慢
我目前正在开发一个并行应用程序(C#、WinForms),它通过 COM 将消息注入(inject)应用程序。 此应用程序使用多个 foreach 语句,从接受 COM 的应用程序中轮询实体指标。 L
我是一名优秀的程序员,十分优秀!