2013-10-18 28 views
6

我们正试图将我们的网络服务(JAVA)的一个从开发服务器云,下面是详细信息:极端放缓云VS VPS(亚马逊,Jelastic)

有一个PHP前置式结束,连接到一个连接到MySQL数据库的基于Java的web服务(所有对数据库的请求都是从web服务发送的,php部分只与Java后端进行通信,没有直接连接到数据库)。

起点

开发服务器 - CentOS的(的cPanel),765MB,1.5GB RAM,4CPU,Tomcat的7

* 软件运行速度快,没有速度的问题,日志显示正常CPU和内存使用

场景#1

在弹性青苗,并与弹性青苗数据库中的Java Web服务

PHP前端

* 软件较慢约80%,日志显示正常的CPU和内存使用率

情景2

PHP的VPS(同一公司/位置与Jelastic)和Java Web服务W¯¯前端上Jelastic

* 软件较慢约70%,第i个数据库日志显示正常CPU和内存使用

场景#3

PHP上VPS前端,具有Elastic Beanstalk和Jelastic数据库的Java web服务(开关)

* 该软件约为70-80%s低,日志显示在两个云环境

我想通了,无论身在何处PHP前端的位置,这将载入速度更快,没有在这里寻找正常的CPU和内存使用情况。

只要Java后端从VPS移到云(无论亚马逊或Jelastic无关紧要),整个软件就会变得非常缓慢。基于日志,因为我们尝试了两个提供商,这似乎不是一个资源问题。

因为我们试图让PHP和Java在相同的环境中(方案#1),所以它不能成为连接问题。

它可能是Java web服务极其缓慢(原因不明,因为日志显示资源利用率低),或者它可能是Java应用程序和数据库之间的连接(我怀疑自第一种情况出发,所有三种组件位于亚马逊,相同的环境,位置)。

有人曾经有过这样的问题吗?有任何想法吗?谢谢!

(注意,我有一个云托管零经验)

+0

类似这样的东西属于服务器故障或超级用户 –

+1

您确实需要将探查器连接到Java后端,并且实际进行一些测量并找出特别慢的地方(磁盘I/O?与数据库交谈?抖动进程进出交换?)来解决这个问题。 有一点需要记住的是,总的来说 - 特别是亚马逊 - I/O性能比专用硬件的可预测性要低得多。 I/O很可能是你的瓶颈(通常是),但你需要知道实际上很慢。 –

+1

@Daryl Gill:对不起,但这是无稽之谈。在SF/SU上,他们会说它属于SO或SU/SF,因为它太具体语言或任何东西。那里有令人难以置信的许多NIMBY。 – maaartinus

回答

1

对于高性能的Java云后端,您可以通过Elastx尝试Jelastic实施 - 见性能研究认为CloudSpectator对他们做了(他们也用亚马逊和Rackspace云的研究):http://blog.jelastic.com/wp-content/uploads/2013/09/Elastx-Fueld-by-SolidFire-9-5-13+Jelastic.pdf

另外,我不知道你当前Jelastic提供者是谁,但如果通过单击帮助他们联系/联系支持在Jelastic仪表盘,我相信他们会很高兴解决这个问题!如果这没有帮助 - 请离线ping我。

0

你测量的是CPU的内存。由于两者都给出了正常的结果,并且您的应用程序正在通过网络进行通信,所以我怀疑网络延迟是罪魁祸首。接下来要研究的内容是磁盘I/O性能,这可能会让你的应用程序变慢,比如手刹。

1

它可能与配置文件中的特定参数有关,主要用于DB。请仔细检查每次测试中它们是否相同。 此外,您还不清楚如何衡量性能以及“更慢”究竟意味着什么。你还没有在Jelastic和EB上指定资源的大小。请仔细检查资源是否相同。