2009-06-18 48 views
2

我们正在重新设计一个屏幕,从“旧式”编辑和提交到AJAXy风格,每隔几秒自动保存一次。AJAX导致更多的“讨厌”

其结果将是方式更多,但方式更小服务器/数据库往返。例如,当用户编辑一个textarea字段时,我们将通过AJAX每60秒自动保存一次他们的更改。目前他们会更新一个或多个这样的字段,然后提交整个页面,整个页面将重新加载。

我们这样做是为了让用户的页面更快捷 - AJAX的一个明显的用法。但是,你们有没有遇到与转向这种方法相关的服务器/数据库性能问题?从服务器/数据库往返的角度来看,从服务器/数据库的前端意识到事先准备好会有什么隐患?

感谢

+2

我希望你计划保持提交/保存按钮。 – TheTXI 2009-06-18 12:37:57

回答

2

this answer提到这个问题与DWR(一个Java的AJAX框架)。

AJAX在它所提供的东西中是诱人的。你将(很可能)获得更多的数据往返(就个别请求/响应而言)。我的建议是监视/测量它,并确定在AJAX上下文中使用什么是重要的,以及绕行(以网络和CPU方面)的成本是多少。正如您已经确定的那样,这会影响您的服务器进程和后备数据库。

您可能会发现缓存所需的各种数据类型,或者一些数据简直是太昂贵从AJAX基础设施的POV检索。您可以在服务器端和(或当然)缓存在网页中。

我见过客户站点实现极其可观的支持Ajax的Web页面,才可以限制它或回滚,由于对后端的不可预见的影响。通过一些意识和一些监测影响的努力,这通常可以避免,或者至少可以事先理解并适当地减轻。

+0

在你的开发/临时环境中加载测试应用程序,以确保您的应用程序可以正常扩展。此外,根据您的环境,像Google Gears/local DOM存储这样的东西可以用来在客户端保存一段时间的进度,最后的“保存”按钮会执行与原始表单相同的操作。从性能的角度看待一些事情。 – ajm 2009-06-19 16:13:21

0

我从来没有通过让该系统,而不是用户遇到的性能问题,决定何时是适当的东西保存到数据库中。

我可能会想到一些数据完整性问题,但我认为这些对您并不重要。