我刚刚将RDS存储容量从10GB升级到20GB,经过几天RDS再次称存储已满.
在MySQL工作台中针对同一个数据库运行此查询表示数据库大小为43MB
SELECT table_schema "database_name",
sum( data_length + index_length ) / 1024 /
1024 "Data Base Size in MB",
sum( data_free )/ 1024 / 1024 "Free Space in MB"
FROM information_schema.TABLES
GROUP BY table_schema ;
Run Code Online (Sandbox Code Playgroud)
因此,MySQL创建的日志或备份等可能会占用生产服务器上的存储空间.
请帮忙.
自回答此问题以来,AWS Tools for Powershell已经发布,我基本上遇到了同样的问题:我在一个AWS账户上有一个RDS快照,我希望将其转移到另一个账户.
到目前为止,我已经能够使用Get-RDSDBSnapshotcmdlet 选择我想要的快照,并且我想要获取该Amazon.RDS.Model.DBSnapshot对象并在其他帐户中使用它.
我一直在环顾四周,我认为Restore-RDSDBInstanceFromDBSnapshotcmdlet(映射到rds-restore-db-instance-from-db-snapshot)可能是我正在寻找的,但我不相信我理解它的行为 -是否可以使用此cmdlet从我的第一个帐户获取快照,并将其还原到第二个帐户中的实例?
我特别关注Snapshot对象中是否存在任何特定于帐户的详细信息,或者是否会阻止该数据跨帐户移动的cmdlet的处理.如果存在一个问题,我会使用比PowerShell更通用的解决方案.
我们遇到了与mysql服务器超时连接的间歇性问题.我们收到的错误如下.
(2003, 'Can\'t connect to MySQL server on \'<connection>\' ((2013, "Lost connection to MySQL server during query (error(104, \'Connection reset by peer\'))"))')
Callstack:
File "/usr/lib64/python2.7/site-packages/pymysql/connections.py", line 818, in _connect
2003, "Can't connect to MySQL server on %r (%s)" % (self.host, e))
File "/usr/lib64/python2.7/site-packages/pymysql/connections.py", line 626, in __init__
self._connect()
更多信息:
错误本身看起来是从ec2上关闭的tcp连接生成的.我们的TCP保持活动时间设置为7200秒,并且当错误被触发时.
我的问题是如何找出这些打嗝发生的原因?很棒的是,它们并不经常发生,但它们发生的并不理想.
任何建议将不胜感激!
更新10/29:
我一直在运行一个服务检查,看看我是否在sql服务器上运行了任何长进程,看起来这些错误没有达到那么远.永远不会为此连接创建新进程!我仍然收到了打嗝,没有任何关联的迹象.
我尝试通过导出数据层应用程序(.bacpac文件)从Amazon RDS实例迁移SQL Server数据库到其他实例,但导入未成功.所以现在我想删除数据库(这是空的),当我尝试:
DROP DATABASE mydatabase;
Run Code Online (Sandbox Code Playgroud)
我收到错误:
无法删除数据库'mydatabase',因为它不存在或您没有权限
一些背景:
CONNECT,SHOWPLAN,VIEW DATABASE STATE,VIEW DEFINITION(不知道为什么还是这怎么可能).任何帮助是极大的赞赏!
无论如何从快照恢复Amazon RDS实例但跳过在它结束后立即发生的备份步骤?
使用最新的Aurora更新(1.8),LOAD DATA FROM S3引入了该命令.有没有人得到这个工作?升级到1.8之后,我按照设置指南在此处创建角色以允许从RDS访问S3.
重新启动服务器并尝试运行命令后
LOAD DATA FROM S3 PREFIX 's3://<bucket_name>/prefix' INTO TABLE table_name
Run Code Online (Sandbox Code Playgroud)
在SQL Workbench/J中,我得到错误:
Warnings:
S3 API returned error: Missing Credentials: Cannot instantiate S3 Client
S3 API returned error: Failed to instantiate S3 Client
Internal error: Unable to initialize S3Stream
Run Code Online (Sandbox Code Playgroud)
是否还需要其他步骤?我可以只从SDK运行吗?我没有在文件中的任何地方看到这一点
amazon-s3 amazon-web-services amazon-rds amazon-aurora aws-rds
问题概述 我们的AWS RDS实例在大约7-14天后开始减速,这是一个相当大的因素(特定查询集的加载时间约为400%).RDS监测没有显示出资源短缺的迹象.(有关详细问题说明,请参阅下面的问题更新)
因此,经过一个多月的调查和AWS的一些开发人员支持,我并不完全接近解决方案.
以下是我检查列表的几个步骤,或多或少没有任何进一步的问题提示:
为了解释,使用过的PlayFramework(2.3.8)有BoneCP,我们使用eBeans来选择我们的数据.所以基本上我正在运行一个嵌套对象和所有这些子对象,这为所讨论的API调用产生了几百个准备好的SELECT.对于使用过的硬件,这基本上也应该没问题,这些操作都不会广泛使用CPU和RAM.
我还包括NewRelic以获得有关此问题的更多见解,并进行了一些JVM概要分析.显然,大部分时间都是由NETTY/eBeans消耗的?

有人能理解这个吗?
原始问题:问题大纲
我们的AWS RDS实例在大约7-14天后开始放慢一个相当大的因素(特定查询集的加载时间约为400%).RDS监测没有显示出资源短缺的迹象.
基础设施
我们为AWS EC2实例上的移动应用程序运行PlayFramework后端,连接到AWS RDS MySQL实例,一个PROD环境,一个DEV环境.通常PROD EC2实例指向PROD RDS实例,而DEV EC2指向DEV RDS(来自队长的嗨明显!); 但有时我们也会让DEV EC2指向PROD DB进行某些测试.正在使用的PlayFramework正在与BoneCP合作.
详细问题描述
在一个非常重要的同步过程中,我们的应用程序每个用户每天多次进行一次API调用.我在这个SO问题中讨论了功能的背景,感谢评论,我可以将问题归结为某种类型的MySQL问题.
简而言之,API调用正在加载一组数据,最大约为1MB的json数据,目前大约需要18s才能加载.当事情运行得非常好时,这需要大约4秒才能加载.
很奇怪,上次"解决"问题的是将RDS实例升级到另一个实例类型(从db.m3.large到db.m4.large,这只是一个非常小的步骤).现在,大约2-3周后,RDS实例再次像以前一样缓慢运行.重新启动RDS实例显示无效.同样重新启动EC2实例也没有效果.
我还检查了受影响的mySQL表的索引是否设置正确,情况就是这样.API调用本身不是急于加载任何BLOB字段或类似的,我仔细检查了这一点.在大多数情况下,RDS实例的CPU使用率低于1%,当我用100个同时API调用对其进行压力测试时,它达到了约5%,因此这不是瓶颈.内存也很好,所以我猜RDS实例没有开始交换,这可能会减慢整个过程.
提供确凿的证据,DEV环境上的(较小的)公共API调用目前需要2.30秒负载,在PROD环境中需要4.86秒.这很有趣,因为DEV环境在EC2和RDS中都有一个小得多的实例类型.所以基本上乌龟在这里赢得比赛.(如果您对此API调用感兴趣,我很乐意通过PN与您分享,但我真的不想发布API调用的链接,即使它们基本上是公开的.)
结论
最后,感觉(我有点说'感觉')就像数据库在使用x天后/在一定量的API调用之后被阻塞了.不确定这是否是特定于RDS的问题,一旦我"通过更改实例类型"重置数据库实例,事情就会快速而平稳地运行.但是,每两周从快照重新创建我的数据库实例不是一种选择,特别是如果我不明白为什么会发生这种情况.
您有什么想法可以采取哪些进一步措施来调查此事吗?
所以我试图在亚马逊上运行lambda并最终通过测试amazons测试控制台中的lambda来缩小错误.
我得到的错误就是这个.
{
"errorMessage": "Please install mysql2 package manually",
"errorType": "Error",
"stackTrace": [
"new MysqlDialect (/var/task/node_modules/sequelize/lib/dialects/mysql/index.js:14:30)",
"new Sequelize (/var/task/node_modules/sequelize/lib/sequelize.js:234:20)",
"Object.exports.getSequelizeConnection (/var/task/src/twilio/twilio.js:858:20)",
"Object.<anonymous> (/var/task/src/twilio/twilio.js:679:25)",
"__webpack_require__ (/var/task/src/twilio/twilio.js:20:30)",
"/var/task/src/twilio/twilio.js:63:18",
"Object.<anonymous> (/var/task/src/twilio/twilio.js:66:10)",
"Module._compile (module.js:570:32)",
"Object.Module._extensions..js (module.js:579:10)",
"Module.load (module.js:487:32)",
"tryModuleLoad (module.js:446:12)",
"Function.Module._load (module.js:438:3)",
"Module.require (module.js:497:17)",
"require (internal/module.js:20:19)"
]
}
Run Code Online (Sandbox Code Playgroud)
很容易,所以我必须安装mysql2.所以我把它添加到我的package.json文件中.
{
"name": "test-api",
"version": "1.0.0",
"description": "",
"main": "handler.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 0"
},
"keywords": [],
"author": "",
"license": "ISC",
"devDependencies": {
"aws-sdk": "^2.153.0",
"babel-core": "^6.26.0",
"babel-loader": "^7.1.2", …Run Code Online (Sandbox Code Playgroud) amazon-web-services amazon-rds aws-lambda serverless-framework node-mysql2
AWS RDS的三个指标是什么:可用内存(增强监控),活动内存(增强监控)和可用内存(CloudWatch监控)?
他们之间有什么关系?
看看这两张照片.
三个指标的价值是不同的.
的形象 在这里输入图像描述
我在这里面临一些非常奇怪的问题.我们在AWS EC2上托管了一个laravel API,我们使用RDS(mysql 5.6).我最近在RDS上启用了performance_schema.以下是我注意到的行为
所以看起来只有当我们的Laravel应用程序执行查询时,它们才会被跟踪.
我们的Laravel版本是4.2.我试图找出最近两天的原因,任何帮助都将是一种解脱.
我在上述所有步骤中使用的用户都是相同的,并且拥有所有数据库的所有权限.
- 编辑 -
我进行了许多其他测试,他们都只指出了一个与Laravel有关的结论.我在托管laravel的同一台服务器上创建了一个简单的php文件.在此文件中,我使用相同的用户/密码连接到相同的实例/数据库.我在这个文件中所做的只是在$ pdo上运行一个非常简单的查询.
$stmt = $pdo->query('SELECT name FROM trades');
while ($row = $stmt->fetch())
{
echo $row['name'] . "\n";
}
Run Code Online (Sandbox Code Playgroud)
它出现在查询分析[ https://prnt.sc/j3ochd]中(我手动检查了performance_schema.events_statements_summary_by_digest)
但是我可以点击我们的laravel api,它实际上返回了交易表本身的条目(非常类似于我上面运行的查询).但这会出现在我的查询分析报告(Percona PMM)或events_statements_summary_by_digest中
amazon-rds ×10
mysql ×4
database ×2
amazon-s3 ×1
aws-lambda ×1
aws-rds ×1
boto3 ×1
django ×1
laravel ×1
laravel-4 ×1
netty ×1
node-mysql2 ×1
powershell ×1
pymysql ×1
sql-server ×1