diff --git a/Gemfile b/Gemfile
index f6b7ff9368ae932cf1f52771cc9965efb85f315e..83c6b693a56e051481894ee9600a2b3b7b4758dc 100644
--- a/Gemfile
+++ b/Gemfile
@@ -26,6 +26,7 @@
 source "https://rubygems.org" do
   gem "faraday",             "~> 1.0", :require => false
   gem "faraday_middleware",  "~> 1.0.0.rc1", :require => false
+  gem "net-http-persistent", "~> 4.0", :require => false
   gem "nokogiri",            "~> 1.10.4", :require => false
 
   gem "adal",                "~> 1.0", :require => false
diff --git a/common/lib/azure/storage/common/core/http_client.rb b/common/lib/azure/storage/common/core/http_client.rb
index 28006cf990b0629b5d4672d63908d45d38fc4f2b..4fdc06f4f443bfe6288d926a5eda2cee346a2cad 100644
--- a/common/lib/azure/storage/common/core/http_client.rb
+++ b/common/lib/azure/storage/common/core/http_client.rb
@@ -72,7 +72,10 @@ module Azure::Storage::Common::Core
                         end || nil
         Faraday.new(uri, ssl: ssl_options, proxy: proxy_options) do |conn|
           conn.use FaradayMiddleware::FollowRedirects
-          conn.adapter Faraday.default_adapter
+          conn.adapter :net_http_persistent, pool_size: 5 do |http|
+            # yields Net::HTTP::Persistent
+            http.idle_timeout = 100
+          end
         end
       end
   end