6

我们正在尝试将我们的 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 应用程序和数据库之间的连接(我怀疑,因为在第一种情况下,所有三个组件都在亚马逊上,相同的环境,位置)。

以前有人遇到过这样的问题吗?有任何想法吗?谢谢!

(注意,我对云托管的经验为零)

4

3 回答 3

1

对于高性能 Java 云后端,您可以尝试 Elastx 的 Jelastic 实现 - 请参阅 CloudSpectator 对它们进行的性能研究(他们还在研究中使用了 Amazon 和 Rackspace 云):http ://blog.jelastic.com/wp-content /uploads/2013/09/Elastx-Fueld-by-SolidFire-9-5-13+Jelastic.pdf

此外,我不知道您当前的 Jelastic 提供商是谁,但如果您通过单击Jelastic 仪表板中的帮助/联系支持与他们联系,我相信他们会很乐意解决问题!如果这没有帮助 - 请让我离线。

于 2013-10-18T15:42:26.420 回答
1

它可能与配置文件中的特定参数有关,主要用于 DB。请仔细检查它们在每个测试中是否相同。此外,尚不清楚您如何衡量性能以及“较慢”的确切含义。而且您还没有指定 Jelastic 和 EB 上的资源大小。请仔细检查资源是否相等。

于 2013-10-20T07:31:27.347 回答
0

您正在测量的是 CPU 和内存。由于两者都给出正常结果,并且您的应用程序正在通过网络进行通信,因此我怀疑网络延迟是罪魁祸首。接下来要研究的是磁盘 I/O 性能,它会像手刹一样减慢应用程序的速度。

于 2013-10-19T04:58:24.527 回答