diff --git a/src/core/ngx_connection.c b/src/core/ngx_connection.c
index 88fefce..91e1b3b 100644
--- a/src/core/ngx_connection.c
+++ b/src/core/ngx_connection.c
@@ -1298,6 +1298,19 @@
     ngx_queue_t       *q;
     ngx_connection_t  *c;
 
+    if (cycle->reusable_connections_n == 0) {
+        return;
+    }
+
+    if (cycle->connections_reuse_time != ngx_time()) {
+        cycle->connections_reuse_time = ngx_time();
+
+        ngx_log_error(NGX_LOG_WARN, cycle->log, 0,
+                      "%ui worker_connections are not enough, "
+                      "reusing connections",
+                      cycle->connection_n);
+    }
+
     n = ngx_max(ngx_min(32, cycle->reusable_connections_n / 8), 1);
 
     for (i = 0; i < n; i++) {
diff --git a/src/core/ngx_cycle.h b/src/core/ngx_cycle.h
index 54fa2e6..0f7d9bc 100644
--- a/src/core/ngx_cycle.h
+++ b/src/core/ngx_cycle.h
@@ -55,6 +55,7 @@
 
     ngx_queue_t               reusable_connections_queue;
     ngx_uint_t                reusable_connections_n;
+    time_t                    connections_reuse_time;
 
     ngx_array_t               listening;
     ngx_array_t               paths;
