我最近将我的应用程序部署到了Bluemix。目前,设置为256mb的内存和1个实例。您会建议增加/改变以获得更好的性能?现在主页需要8-15秒加载,ajax调用需要至少5秒。该应用程序对HTTP请求(ajax调用)非常密集,但调用本身是相对简单的脚本。我只是在寻找一些关于我应该改变什么的指导以及我应该改变什么来看到更好的表现。
谢谢,
-
编辑:
应用程序的前端是用React.js和一些jQuery编写的。后端是PHP和胡子(对于视图),我们使用SQL。大多数AJAX请求都是由React.js处理的 - 它会产生不同大小的JSON请求。
答案 0 :(得分:1)
我建议攻击两种方式。
Bluemix服务器端 由于您运行256MB内存,可能会遇到内存问题。 http://plugins.cloudfoundry.org/ui/ 有一个插件可以监控您的应用程序。这样,您可以在测试期间监视应用程序CPU和内存使用情况。有关详细信息,请参阅此页:https://github.com/danhigham/cf-live-stats
网络方面 Bluemix在美国/英国/澳大利亚举办。如果您居住在这些国家之外,则存在显着的延迟。看起来有很多电话(ajax),延迟可能是个问题。尝试使用网络流量监控工具(例如BuzZilla或HttpWatch基本版)进行检查。如果是这样的话。您的应用程序需要Tweek不要经常调用服务器逻辑。
无论如何,首先需要尝试的是监控服务器和网络。
答案 1 :(得分:1)
如果瓶颈是您的AJAX请求响应时间,我认为增加内存或实例不会对您的UI性能产生太大影响。
使用浏览器开发者工具监控网络活动标签。查看哪些AJAX请求花费最长时间来响应并首先处理这些请求。确认您没有强制禁用缓存。避免多次调用相同的URL - 而是将结果保存在javascript中并重复使用。
数据库查询往往是大多数应用程序的瓶颈。使用Bluemix Data Cache之类的缓存服务或内存缓存来避免每次请求多次访问数据库。