2012-02-27 141 views
1

我正在使用.asmx Web服务从Windows Mobile应用程序上传SQL Server CE紧凑型数据库文件。我将数据库分块为1MiB块,重新组装服务器上的数据库。一旦服务器完成数据库的处理,它将使用由移动应用程序驱动的类似进程传回设备。这很好,但一些用户有ADSL连接,只允许〜700Kb的上传速度。我想优化块大小,以确保这些用户有最好的上传体验。 ADSL有最佳块大小吗?什么是通过DSL发送数据的最佳块大小

回答

5

根据提供商,网络,用户的偏好和其他因素,不同的DSL链路有different packet sizes。从服务器端预测你的用户将会拥有什么,而且很难让他们告诉你。

只需通过TCP发送数据。该协议设计为self-adjust to the optimal packet size用于客户端和服务器。

如果您将数据上传到(大)块以支持恢复上传,那么您可以计算出客户在必须重新传输数据块时会损失多少时间(例如,上传被中断)。因此,如果它们在传输1MiB块期间被中断,并且它们具有700Kib上行链路,那么如果它们必须重新传输整个块,则它们将丢失超过一秒。你可以使用它和你测量的完整TCP连接失败的概率—套接字被关闭,并且需要重传的块—来计算每个文件的预期重传开销。由于TCP失败非常罕见(通常它会缓冲并等待发送其余数据,如果移动连接发生抖动),罕见的1秒连接可能并不明显,除非您有实时控制循环。据推测,整个数据库的上传不是。

相关问题