在重复GET请求时,是否应该增加缓冲区大小以提高性能



我正在用C#编写一个.NET程序,它可以发出GET请求并下载要解析的页面,这是一种爬网程序。我注意到它必须从流中读取多次才能下载每个页面,因为每个页面都很大。

目前,我已将流缓冲区大小设置为5024字节。我的问题是,增加这个大小从而执行更少的流读取会更有效吗?还是一次处理更少的数据进行解析更好?

基本上措辞不同-是一次解析更多数据更快,而且必须调用stream.read的频率更低,还是相反?

谢谢!

虽然通常情况下,增加缓冲区的大小并一次放入更多数据会提高操作速度,但性能的提高最多只能是最小的。相反,我认为您想要尝试的是异步请求。类似于这这允许应用程序使用线程池同时从套接字或多个套接字中读取数据,然后只有在有事情要处理时才处理流。这将释放应用程序在数据被拉入缓冲区时做其他事情。

最新更新