diff --git includes/common.inc includes/common.inc
index a6901f3..f12e4f7 100644
--- includes/common.inc
+++ includes/common.inc
@@ -741,6 +741,7 @@ function drupal_access_denied() {
  *     call may take. The default is 30 seconds. If a timeout occurs, the error
  *     code is set to the HTTP_REQUEST_TIMEOUT constant.
  *   - context: A context resource created with stream_context_create().
+ *   - buffer: The maximum number of bytes read between end-of-file checks.
  *
  * @return object
  *   An object that can have one or more of the following components:
@@ -787,6 +788,7 @@ function drupal_http_request($url, array $options = array()) {
     'max_redirects' => 3,
     'timeout' => 30.0,
     'context' => NULL,
+    'buffer' => variable_get('http_request_buffer',1024),
   );
   // stream_socket_client() requires timeout to be a float.
   $options['timeout'] = (float) $options['timeout'];
@@ -901,7 +903,7 @@ function drupal_http_request($url, array $options = array()) {
       break;
     }
     stream_set_timeout($fp, floor($timeout), floor(1000000 * fmod($timeout, 1)));
-    $chunk = fread($fp, 1024);
+    $chunk = fread($fp, $options['buffer']);
     $response .= $chunk;
     $info = stream_get_meta_data($fp);
     $alive = !$info['eof'] && !$info['timed_out'] && $chunk;
diff --git sites/default/default.settings.php sites/default/default.settings.php
index 05cfdc4..925d611 100644
--- sites/default/default.settings.php
+++ sites/default/default.settings.php
@@ -392,6 +392,16 @@ ini_set('session.cookie_lifetime', 2000000);
 # $conf['js_gzip_compression'] = FALSE;
 
 /**
+ * HTTP Request Buffer
+ *
+ * When drupal requests a file from another webserver, it periodically checks
+ * for end-of-file and server timeouts.  The default is to read a maximum of
+ * 1024 bytes between each check.  Increasing this limit may help performance
+ * when reading large files from the network.
+ */
+# $conf['http_request_buffer'] = 1024;
+
+/**
  * String overrides:
  *
  * To override specific strings on your site with or without enabling locale
