我们正在尝试将我们的 Web 服务 (Java) 之一从开发服务器迁移到云端,以下是详细信息:
有一个 PHP 前端,连接到一个基于 Java 的 Web 服务,该 Web 服务连接到一个 MySQL 数据库(对数据库的所有请求都是从 Web 服务发送的,php 部分仅与 Java 后端通信,没有直接连接到数据库)。
起点
开发服务器 - CentOS (cPanel), 765MB-1.5GB RAM, 4CPU, Tomcat 7
*软件运行速度快,没有速度问题,日志显示正常的 CPU 和内存使用情况
情景#1
Elastic Beanstalk 上的 PHP 前端和 Elastic Beanstalk 上带有数据库的 Java Web 服务
*软件大约慢 80%,日志显示 CPU 和内存使用正常
情景#2
VPS 上的 PHP 前端(与 Jelastic 相同的公司/位置)和带有 Jelastic 数据库的 Java Web 服务
*软件速度慢约 70%,日志显示 CPU 和内存使用正常
场景#3
VPS 上的 PHP 前端,Elastic Beanstalk 和 Jelastic 上带有数据库的 Java Web 服务(交换)
*软件速度慢约 70-80%,日志显示两种云环境中的 CPU 和内存使用情况正常
我发现,无论 PHP 前端位于何处,加载速度都很快,这里没有什么可搜索的。
一旦 Java 后端从 VPS 移动到云端(不管是 Amazon 还是 Jelastic),整个软件的速度都会非常慢。根据日志,由于我们尝试了两个提供商,这似乎不是资源问题。
这不可能是连接问题,因为我们试图将 PHP 和 Java 放在同一个环境中(场景 #1)。
要么是 Java Web 服务速度非常慢(原因不明,因为日志显示资源使用率低),要么是 Java 应用程序和数据库之间的连接(我怀疑,因为在第一种情况下,所有三个组件都在亚马逊上,相同的环境,位置)。
以前有人遇到过这样的问题吗?有任何想法吗?谢谢!
(注意,我对云托管的经验为零)