2011-04-01 49 views
0

我在同一台主机上有一个DB和Web服务器。我有一个将XML发送到Web服务器的iPhone应用程序。 Web服务器将查询数据库并将数据返回给应用程序。从服务器获取数据的最快方法?

我不知道这是否是最快的方法

是否有其他办法比这更快?

+1

是的,在后台线程中执行它。 – BoltClock 2011-04-01 05:04:55

+1

线程不会加速网络查询,它们只是让您在查询发生时分散用户注意力。 – Caleb 2011-04-01 05:11:18

+0

你试过JSON吗?你在后端使用什么? – Jorge 2011-04-01 05:15:34

回答

1

在服务器端客户端程序中,最大的瓶颈通常是网络延迟,除非您在服务器端进行非常复杂的耗时处理,或者您的RDBMS中有大量数据需要从中进行搜索。

有几件事情(作用域比XML更多),您可以尝试快速加载:

  1. 如果你感觉该数据库是瓶颈,您可以尝试缓存(寻找MemcacheD和喜欢)数据库前的对象。这将减少数据库命中和检索将更快。
  2. 在XML中使用压缩。或者使用较短的符号,如JSON或YAML。

    一般而言,对于webapps
  3. 重复使用并使用优化(压缩)图像。无论您身在何处,都可以使用更少的CSS图像。
  4. 缩小CSS和JS等组件。
  5. 如果不需要,请不要一次加载所有内容。

,你可以看看到XML compressors或者如果可以的话,用一些更短的符号像JSONYAML。但是我想如果你已经开发了这个应用程序,将很难改变数据格式。

1

XML并不是世界上最紧凑的格式,因此您可以通过减少您发送和接收的数据量来加快速度。如果您可以直接与数据库交谈,则可以切断Web服务器,这肯定会加快速度。

事情是,虽然XML和HTTP是标准,并且有很多价值。从特制的定制协议中获得的速度小幅增加是否真的值得失去灵活性和额外的开发时间?

+0

+1同意。 HTTP几乎适用于数据块不是巨大的任何地方。 – 2011-04-01 07:35:06