2015-12-09 26 views
0

我最近已将我的应用程序部署到Bluemix。目前,这些设置是256MB内存和1个实例。你会建议增加/改变以获得更好的表现吗?现在主页面需要8-15秒才能加载,而ajax调用至少需要5秒钟。该应用在HTTP请求(ajax调用)上非常密集,但是调用本身是相对简单的脚本。我只是寻找一些关于我应该改变什么的指导,以及我应该改变它以看到更好的表现。使Bluemix应用程序更快

谢谢

-

编辑:

应用的前端是写在React.js和一些jQuery的。后端是PHP和胡子(用于视图),我们使用SQL。大多数AJAX请求都是由React.js处理的 - 它会发出不同规模的JSON请求。

+0

您需要提供有关应用程序,其体系结构以及它在后台进行的请求的更多详细信息。然后有可能讨论缓存策略,代码优化,网络配置,资源分配等。 –

+0

@data_henrik感谢您的回复,请参阅我的编辑。 –

回答

1

如果瓶颈是您的AJAX请求响应时间,我不认为增加您的内存或实例会对您的UI性能产生太大影响。

使用您的浏览器开发者工具来监视网络活动选项卡。查看您的哪些AJAX请求需要花费最长时间进行响应并首先解决这些问题。确认你不强迫no-cache。避免多次调用相同的URL - 相反,将结果保存为javascript并重新使用。

数据库查询往往是大多数应用程序的瓶颈。使用缓存服务(如Bluemix Data Cache或内存缓存)可避免每次请求多次访问数据库。

1

我建议攻击两种方式。

  • Bluemix服务器端
  • 网络侧

Bluemix服务器端 由于您正在运行256MB内存,它可能击中内存不足的问题。 http://plugins.cloudfoundry.org/ui/ 有一个插件来监视你的应用程序。由此,您可以在测试期间监视应用程序CPU和内存使用情况。请参阅本页面了解更多细节:https://github.com/danhigham/cf-live-stats

网络侧 Bluemix在美国/英国/澳大利亚主办。如果您居住在这些国家之外,则会出现严重延迟。看起来有很多调用(ajax),延迟可能是一个问题。尝试使用网络流量监控工具(例如BuzZilla或HttpWatch基本版)进行检查。如果是这样的话。您的应用程序需要微软不要经常调用服务器逻辑。

无论如何,你需要尝试的第一个就是监控服务器和网络。

+0

谢谢你的回应!我们在美国南部,所以在这里延迟不应该太大。 Bluemix仪表板内部可以用来监视它的服务是什么? –

+1

嗨 Live-Stat是Cloud Foundry命令行界面插件。或者,您可以手动完成。例如,通过 '$ CF应用程序获得的GUID应用程序的 --guid ' 而他们,运行 '$ CF卷曲/ V2 /应用/ <:guid>/stats' 它会给这样的用法: ' “用法”:{ “时间”: “2015年12月11日1时22分07秒+0000”, “CPU”:0.0, “mem”:62070784, “disk”:63811584 ' – ibmamnt

相关问题