【问题标题】:Why does my war take so much space when deployed on GAE?为什么我的战争部署在 GAE 上会占用这么多空间?
【发布时间】:2013-02-06 00:04:41
【问题描述】:

当我编译我的 GAE/GWT (Java) 项目(编译所有 6 个排列)时,整个 WAR 文件夹在我的计算机上的权重为 93.9 Mo(扩展的 Mac OS 日志)。在 GAE 上部署时,管理控制台(配额详情页面)显示我的应用占用了 18% 的免费配额。意思是180Mb。这怎么可能 ?我错过了什么?谷歌是否使用大块文件系统?如何优化可用存储空间的使用?我已经在 J​​ARing 我的 'classes' 文件夹,但增益(在空间方面......)并不相关。

最大的问题(从我的角度来看)是我自己的 GWT + 服务器端代码 +“外部”库 (PDFJet) 占用了很小的 1.9Mb。其余的 (>91Mb) 由 appengine 和 datanucleus 自己的库获取。为什么我们需要在部署中包含这些?它们被每个人使用。我认为集中和自动部署这些对我们所有人来说都会更好。没看懂。

对此有何建议或建议?

【问题讨论】:

  • 您上传到 GAE 的版本有多少?

标签: java google-app-engine gwt


【解决方案1】:

您需要确保 GWT 编译后输出针对 生产部署 以及在您的情况下针对 "cloud" 进行调整。

确保生产部署

1) STYLE IS OBF 的 GWT 编译器标志

2) GWT 编译关闭堆栈跟踪仿真器功能。在.gwt.xml

<set-property name="compiler.stackMode" value="strip" />

确保云部署

1) extradeploy 的 GWT 编译器标志用于引导大部分部署冗余文件远离 WAR 文件。我猜你的 WEB-INF 中有一个名为 deploy 的大型文件夹。

编辑 -

1) 参考 GWT 编译器选项 - https://developers.google.com/web-toolkit/doc/latest/DevGuideCompilingAndDebugging

2) 参考 Google Group 讨论 - https://groups.google.com/forum/?fromgroups=#!topic/google-web-toolkit/-WtEfDvUI4g

【讨论】:

  • 你说得对,deploy 文件夹比较大。您能否提供 GWT 编译器文档的链接?看起来我们在这里有很多我以前从未听说过的选择。非常感谢。
  • 更新了答案中的链接。您需要在尝试优化 GWT 中的构建时间性能、运行时性能、带宽性能、部署大小性能和开发人员调试功能之间进行权衡。
猜你喜欢
  • 2013-12-03
  • 2012-02-12
  • 1970-01-01
  • 2018-08-20
  • 2018-09-13
  • 1970-01-01
  • 2013-01-01
  • 1970-01-01
  • 2019-12-14
相关资源
最近更新 更多