php - AWS RDS DB 部署时速度慢
问题描述
我正在尝试在 AWS 上实现一个 CMS,主要使用免费层级服务,并且正在使用 PHP,并且已经在学校使用 PHPMyAdmin 实现了这个。
问题:
我想使用 RDS 来做到这一点,但我想出了一个非常奇怪的问题。
当我将我的站点上传到 Elastic Beanstalk 并尝试从那里连接到数据库时,我面临着非常长的等待时间。有时它会从长时间的等待中返回错误 504。
但是,这不是数据库速度的问题。我知道这一点,因为我可以在 localhost 上运行此代码,并且它完全按预期工作(见图)
加载只需半秒!
我认为正在发生的事情:
在 Elastic Beanstalk 中执行时,一定发生了一些事情。我不太清楚是什么,但它需要的时间太长了。
额外信息:
我使用以下代码连接到数据库(凭据被欺骗):
$conn = mysqli_connect("mydb.cebelvm3fa0n.ca-central-1.rds.amazonaws.com","USERNAME","PASSWORD","mydb");
我的数据库和 EL 实例都是从 ca-central 运行的。连接没有失败,它需要花费大量时间。
失败的页面是http://howardpearce.ca/posts.php
如果您对它可能是什么有任何想法,我将非常感激。谢谢!
笔记:
我将发布我的代码的某些部分,但是创建 MCVE 确实不可行,因为我必须提供我的数据库密码,并且您需要重新创建我的 AWS 环境,所以请不要要求,我可以总是提供更多细节。
解决方案
在@colde 提到检查日志之后,我很快发现了一个错误代码,它引导我找到正确的资源。
我的数据库仅配置为允许来自我的 IP 的连接,并且防火墙阻止了我的 Elastic Beanstalk 实例,我只需要添加一个新的安全规则。
谢谢!
推荐阅读
- apache-kafka - 一起使用 Spring Cloud Function 和 Spring Cloud Stream?
- vba - 使用 VBA 从 Open Outlook 属性中检索联系人信息,例如员工 ID
- sql - 比较两个字符串并捕获不同的值
- git - 将存储库目录分为两个存储库,但保留一个作为主存储库
- c# - 与 .Net Framework 相比,.Net Core 中的代码运行速度慢 30% - 有什么方法可以加快速度吗?
- amazon-web-services - AWS 证书管理器中验证状态更改的通知
- android - 如何使用 API 谷歌地图 SDK Nativeproject
- java - 如何在 JNI 中将 jstring 转换为 std::string
- javascript - 为什么我的图像在水平滚动中被剪裁 ij 分辨率较低
- angular - Angular Validator 模式未按预期工作