504 Timeout Using to Many cUrl From Website That is DownConfigure php5-fpm for many concurrent usersOptimizing Web Server(apache2+nginx+memcached+eaccelerator) for high-loaded heavy applicationnginx node.js & socket.io 504 timeout504 gateway timeout after loading several php pages504 Gateway timeout / 502 Bad gateway after installing php curl - server nginxNginX + WordPress + SSL + non-www + W3TC vhost config file questionsChange Nginx document root from /usr/share/nginx to /etc/nginxGot 504 Timeout in 200ms. What does that mean?403 Forbidden nginx (nginx/1.8.0)Periodically 504 timeout with nginx and php-fpm
Would life always name the light from their sun "white"
SHAKE-128/256 or SHA3-256/512
Rushed passport - does my reason qualify?
Why can't I share a one use code with anyone else?
Solenoid fastest possible release - for how long should reversed polarity be applied?
Why would company (decision makers) wait for someone to retire, rather than lay them off, when their role is no longer needed?
"Counterexample" for the Inverse function theorem
Why does the U.S military use mercenaries?
Iterate lines of string variable in bash
How was the blinking terminal cursor invented?
Why did the soldiers of the North disobey Jon?
Using a Snow jacket for non snow conditions?
What is the velocity distribution of the exhaust for a typical rocket engine?
Non-African Click Languages
Do high-wing aircraft represent more difficult engineering challenges than low-wing aircraft?
Why didn't Daenerys' advisers suggest assassinating Cersei?
Can a person still be an Orthodox Jew and believe that the Torah contains narratives that are not scientifically correct?
Promotion comes with unexpected 24/7/365 on-call
What would a Dragon have to exhale to cause rain?
Cuban Primes
How can I make dummy text (like lipsum) grey?
Why were the bells ignored in S8E5?
Why does string strummed with finger sound different from the one strummed with pick?
Why did nobody know who the Lord of this region was?
504 Timeout Using to Many cUrl From Website That is Down
Configure php5-fpm for many concurrent usersOptimizing Web Server(apache2+nginx+memcached+eaccelerator) for high-loaded heavy applicationnginx node.js & socket.io 504 timeout504 gateway timeout after loading several php pages504 Gateway timeout / 502 Bad gateway after installing php curl - server nginxNginX + WordPress + SSL + non-www + W3TC vhost config file questionsChange Nginx document root from /usr/share/nginx to /etc/nginxGot 504 Timeout in 200ms. What does that mean?403 Forbidden nginx (nginx/1.8.0)Periodically 504 timeout with nginx and php-fpm
.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty height:90px;width:728px;box-sizing:border-box;
I have a dedicated server with 32 gb ram / 8 processors.
I use on all my sites cUrl php displaying some code. The website from where I make the cUrl is a VPS where I use another cUrl with multiple proxies that switches every request.
So I use like this: on site A (Dedicated Server) curl to site B (VPS).
The cUrl code looks like this:
$url = "https://siteB.com/code";
$ch = curl_init();
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt ($ch, CURLOPT_URL, $url);
curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, 7);
curl_setopt ($ch, CURLOPT_TIMEOUT, 7);
$curl_res = curl_exec($ch);
curl_close ($ch);
My problem is that on a website (site A in this case) I have like 300k visitors per day and if the site B doesn't respond for any reason the site A gets 504 timeout and the other websites on dedicated server works ok.
On error log from site A I have errors like this:
25329#25329: *3623 upstream timed out (110: Connection timed out) while reading response header from upstream
When I check Nginx I see that from 40-50 writing (that were usually) there are to many writing processes and from here it gets timeout
Active connections: 1756
server accepts handled requests
11367 11367 11377
Reading: 0 Writing: 1395 Waiting: 361
My nginx configuration is:
worker_processes auto;
worker_rlimit_nofile 65535;
events
multi_accept on;
use epoll;
worker_connections 65535;
http
## Basic Settings ##
client_body_buffer_size 128k;
client_body_timeout 5s; # Use 5s for high-traffic sites
client_header_timeout 5s; # Use 5s for high-traffic sites
client_max_body_size 1024m;
keepalive_timeout 30s;
open_file_cache max=200000 inactive=20s;
open_file_cache_errors on;
open_file_cache_min_uses 2;
open_file_cache_valid 30s;
port_in_redirect off;
reset_timedout_connection on;
send_timeout 5s;
sendfile on;
server_name_in_redirect off;
server_names_hash_bucket_size 1024;
server_names_hash_max_size 1024;
server_tokens off;
tcp_nodelay on;
tcp_nopush on;
types_hash_max_size 2048;
## DNS Resolver ##
# If in China, enable the OpenDNS entry that matches your network connectivity (IPv4 only or IPv4 & IPv6)
# OpenDNS (IPv4 & IPv6)
#resolver 208.67.222.222 208.67.220.220 [2620:0:ccc::2] [2620:0:ccd::2];
# OpenDNS (IPv4 only)
#resolver 208.67.222.222 208.67.220.220;
# Google Public DNS (IPv4 & IPv6)
#resolver 8.8.8.8 8.8.4.4 [2001:4860:4860::8888] [2001:4860:4860::8844];
# Google Public DNS (IPv4 only) [default]
resolver 8.8.8.8 8.8.4.4;
## Real IP Forwarding ##
set_real_ip_from 127.0.0.1;
# CloudFlare IPs
# List from: https://www.cloudflare.com/ips-v4
set_real_ip_from 103.21.244.0/22;
set_real_ip_from 103.22.200.0/22;
set_real_ip_from 103.31.4.0/22;
set_real_ip_from 104.16.0.0/12;
set_real_ip_from 108.162.192.0/18;
set_real_ip_from 131.0.72.0/22;
set_real_ip_from 141.101.64.0/18;
set_real_ip_from 162.158.0.0/15;
set_real_ip_from 172.64.0.0/13;
set_real_ip_from 173.245.48.0/20;
set_real_ip_from 188.114.96.0/20;
set_real_ip_from 190.93.240.0/20;
set_real_ip_from 197.234.240.0/22;
set_real_ip_from 198.41.128.0/17;
# List from: https://www.cloudflare.com/ips-v6
set_real_ip_from 2400:cb00::/32;
set_real_ip_from 2405:8100::/32;
set_real_ip_from 2405:b500::/32;
set_real_ip_from 2606:4700::/32;
set_real_ip_from 2803:f800::/32;
set_real_ip_from 2c0f:f248::/32;
set_real_ip_from 2a06:98c0::/29;
# Replace with correct visitor IP
real_ip_header X-Forwarded-For;
real_ip_recursive on;
## MIME ##
include /etc/nginx/mime.types;
default_type application/octet-stream;
## Logging Settings ##
access_log /var/log/nginx/access.log;
error_log /var/log/nginx/error.log;
## Gzip Settings ##
gzip on;
gzip_buffers 16 8k;
gzip_comp_level 5;
gzip_disable "msie6";
gzip_min_length 256;
gzip_proxied any;
gzip_types
application/atom+xml
application/javascript
application/json
application/ld+json
application/manifest+json
application/rss+xml
application/vnd.geo+json
application/vnd.ms-fontobject
application/x-font-ttf
application/x-javascript
application/x-web-app-manifest+json
application/xhtml+xml
application/xml
font/opentype
image/bmp
image/svg+xml
image/x-icon
text/cache-manifest
text/css
text/javascript
text/plain
text/vcard
text/vnd.rim.location.xloc
text/vtt
text/x-component
text/x-cross-domain-policy
text/x-js
text/xml;
gzip_vary on;
# Security Headers
add_header X-XSS-Protection "1; mode=block" always;
add_header X-Content-Type-Options "nosniff" always;
# Info
add_header X-Nginx-Cache-Status $upstream_cache_status;
add_header X-Server-Powered-By "Engintron";
# Proxy Cache Settings
proxy_cache_path /var/cache/nginx/engintron_dynamic levels=1:2 keys_zone=engintron_dynamic:20m inactive=10m max_size=512m;
proxy_cache_path /var/cache/nginx/engintron_static levels=1:2 keys_zone=engintron_static:20m inactive=10m max_size=512m;
proxy_temp_path /var/cache/nginx/engintron_temp;
## Virtual Host Configs ##
include /etc/nginx/conf.d/*.conf;
What I ask is, how can I make the cUrl check if the website B is slow or down to stop that request if no response in 4-5-6 seconds? Or there is something I can increase in my configuration? I also see that Load Averages doesn't go more than 1.5 (this was the maximum for all the server).
System Status now:
Processors: 8 CPU(s)
RAM: 31.19 GB
Memory Usage:
total used free shared buff/cache available
Mem: 31940 2155 2301 686 27484 28449
Swap: 1021 22 999
From what I see there is a limit somewhere that if the X connections is reached it gets slowed or timeout, but don't know were.
On my Dedicate Server I have all setup configuration to default from WHM Cpanel, except the configuration from nginx.
P.S. I'm not good at all with servers and if can someone guide me.
EDIT
Still one site is down (after modifying the timeout to be the same) and rest are working ok.
This are the connection on my server now:
Active connections: 4382
server accepts handled requests
457784 457784 478795
Reading: 0 Writing: 4071 Waiting: 310
Usually there are maximum 1000 active connections...
nginx apache-2.4 php-fpm
add a comment |
I have a dedicated server with 32 gb ram / 8 processors.
I use on all my sites cUrl php displaying some code. The website from where I make the cUrl is a VPS where I use another cUrl with multiple proxies that switches every request.
So I use like this: on site A (Dedicated Server) curl to site B (VPS).
The cUrl code looks like this:
$url = "https://siteB.com/code";
$ch = curl_init();
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt ($ch, CURLOPT_URL, $url);
curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, 7);
curl_setopt ($ch, CURLOPT_TIMEOUT, 7);
$curl_res = curl_exec($ch);
curl_close ($ch);
My problem is that on a website (site A in this case) I have like 300k visitors per day and if the site B doesn't respond for any reason the site A gets 504 timeout and the other websites on dedicated server works ok.
On error log from site A I have errors like this:
25329#25329: *3623 upstream timed out (110: Connection timed out) while reading response header from upstream
When I check Nginx I see that from 40-50 writing (that were usually) there are to many writing processes and from here it gets timeout
Active connections: 1756
server accepts handled requests
11367 11367 11377
Reading: 0 Writing: 1395 Waiting: 361
My nginx configuration is:
worker_processes auto;
worker_rlimit_nofile 65535;
events
multi_accept on;
use epoll;
worker_connections 65535;
http
## Basic Settings ##
client_body_buffer_size 128k;
client_body_timeout 5s; # Use 5s for high-traffic sites
client_header_timeout 5s; # Use 5s for high-traffic sites
client_max_body_size 1024m;
keepalive_timeout 30s;
open_file_cache max=200000 inactive=20s;
open_file_cache_errors on;
open_file_cache_min_uses 2;
open_file_cache_valid 30s;
port_in_redirect off;
reset_timedout_connection on;
send_timeout 5s;
sendfile on;
server_name_in_redirect off;
server_names_hash_bucket_size 1024;
server_names_hash_max_size 1024;
server_tokens off;
tcp_nodelay on;
tcp_nopush on;
types_hash_max_size 2048;
## DNS Resolver ##
# If in China, enable the OpenDNS entry that matches your network connectivity (IPv4 only or IPv4 & IPv6)
# OpenDNS (IPv4 & IPv6)
#resolver 208.67.222.222 208.67.220.220 [2620:0:ccc::2] [2620:0:ccd::2];
# OpenDNS (IPv4 only)
#resolver 208.67.222.222 208.67.220.220;
# Google Public DNS (IPv4 & IPv6)
#resolver 8.8.8.8 8.8.4.4 [2001:4860:4860::8888] [2001:4860:4860::8844];
# Google Public DNS (IPv4 only) [default]
resolver 8.8.8.8 8.8.4.4;
## Real IP Forwarding ##
set_real_ip_from 127.0.0.1;
# CloudFlare IPs
# List from: https://www.cloudflare.com/ips-v4
set_real_ip_from 103.21.244.0/22;
set_real_ip_from 103.22.200.0/22;
set_real_ip_from 103.31.4.0/22;
set_real_ip_from 104.16.0.0/12;
set_real_ip_from 108.162.192.0/18;
set_real_ip_from 131.0.72.0/22;
set_real_ip_from 141.101.64.0/18;
set_real_ip_from 162.158.0.0/15;
set_real_ip_from 172.64.0.0/13;
set_real_ip_from 173.245.48.0/20;
set_real_ip_from 188.114.96.0/20;
set_real_ip_from 190.93.240.0/20;
set_real_ip_from 197.234.240.0/22;
set_real_ip_from 198.41.128.0/17;
# List from: https://www.cloudflare.com/ips-v6
set_real_ip_from 2400:cb00::/32;
set_real_ip_from 2405:8100::/32;
set_real_ip_from 2405:b500::/32;
set_real_ip_from 2606:4700::/32;
set_real_ip_from 2803:f800::/32;
set_real_ip_from 2c0f:f248::/32;
set_real_ip_from 2a06:98c0::/29;
# Replace with correct visitor IP
real_ip_header X-Forwarded-For;
real_ip_recursive on;
## MIME ##
include /etc/nginx/mime.types;
default_type application/octet-stream;
## Logging Settings ##
access_log /var/log/nginx/access.log;
error_log /var/log/nginx/error.log;
## Gzip Settings ##
gzip on;
gzip_buffers 16 8k;
gzip_comp_level 5;
gzip_disable "msie6";
gzip_min_length 256;
gzip_proxied any;
gzip_types
application/atom+xml
application/javascript
application/json
application/ld+json
application/manifest+json
application/rss+xml
application/vnd.geo+json
application/vnd.ms-fontobject
application/x-font-ttf
application/x-javascript
application/x-web-app-manifest+json
application/xhtml+xml
application/xml
font/opentype
image/bmp
image/svg+xml
image/x-icon
text/cache-manifest
text/css
text/javascript
text/plain
text/vcard
text/vnd.rim.location.xloc
text/vtt
text/x-component
text/x-cross-domain-policy
text/x-js
text/xml;
gzip_vary on;
# Security Headers
add_header X-XSS-Protection "1; mode=block" always;
add_header X-Content-Type-Options "nosniff" always;
# Info
add_header X-Nginx-Cache-Status $upstream_cache_status;
add_header X-Server-Powered-By "Engintron";
# Proxy Cache Settings
proxy_cache_path /var/cache/nginx/engintron_dynamic levels=1:2 keys_zone=engintron_dynamic:20m inactive=10m max_size=512m;
proxy_cache_path /var/cache/nginx/engintron_static levels=1:2 keys_zone=engintron_static:20m inactive=10m max_size=512m;
proxy_temp_path /var/cache/nginx/engintron_temp;
## Virtual Host Configs ##
include /etc/nginx/conf.d/*.conf;
What I ask is, how can I make the cUrl check if the website B is slow or down to stop that request if no response in 4-5-6 seconds? Or there is something I can increase in my configuration? I also see that Load Averages doesn't go more than 1.5 (this was the maximum for all the server).
System Status now:
Processors: 8 CPU(s)
RAM: 31.19 GB
Memory Usage:
total used free shared buff/cache available
Mem: 31940 2155 2301 686 27484 28449
Swap: 1021 22 999
From what I see there is a limit somewhere that if the X connections is reached it gets slowed or timeout, but don't know were.
On my Dedicate Server I have all setup configuration to default from WHM Cpanel, except the configuration from nginx.
P.S. I'm not good at all with servers and if can someone guide me.
EDIT
Still one site is down (after modifying the timeout to be the same) and rest are working ok.
This are the connection on my server now:
Active connections: 4382
server accepts handled requests
457784 457784 478795
Reading: 0 Writing: 4071 Waiting: 310
Usually there are maximum 1000 active connections...
nginx apache-2.4 php-fpm
add a comment |
I have a dedicated server with 32 gb ram / 8 processors.
I use on all my sites cUrl php displaying some code. The website from where I make the cUrl is a VPS where I use another cUrl with multiple proxies that switches every request.
So I use like this: on site A (Dedicated Server) curl to site B (VPS).
The cUrl code looks like this:
$url = "https://siteB.com/code";
$ch = curl_init();
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt ($ch, CURLOPT_URL, $url);
curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, 7);
curl_setopt ($ch, CURLOPT_TIMEOUT, 7);
$curl_res = curl_exec($ch);
curl_close ($ch);
My problem is that on a website (site A in this case) I have like 300k visitors per day and if the site B doesn't respond for any reason the site A gets 504 timeout and the other websites on dedicated server works ok.
On error log from site A I have errors like this:
25329#25329: *3623 upstream timed out (110: Connection timed out) while reading response header from upstream
When I check Nginx I see that from 40-50 writing (that were usually) there are to many writing processes and from here it gets timeout
Active connections: 1756
server accepts handled requests
11367 11367 11377
Reading: 0 Writing: 1395 Waiting: 361
My nginx configuration is:
worker_processes auto;
worker_rlimit_nofile 65535;
events
multi_accept on;
use epoll;
worker_connections 65535;
http
## Basic Settings ##
client_body_buffer_size 128k;
client_body_timeout 5s; # Use 5s for high-traffic sites
client_header_timeout 5s; # Use 5s for high-traffic sites
client_max_body_size 1024m;
keepalive_timeout 30s;
open_file_cache max=200000 inactive=20s;
open_file_cache_errors on;
open_file_cache_min_uses 2;
open_file_cache_valid 30s;
port_in_redirect off;
reset_timedout_connection on;
send_timeout 5s;
sendfile on;
server_name_in_redirect off;
server_names_hash_bucket_size 1024;
server_names_hash_max_size 1024;
server_tokens off;
tcp_nodelay on;
tcp_nopush on;
types_hash_max_size 2048;
## DNS Resolver ##
# If in China, enable the OpenDNS entry that matches your network connectivity (IPv4 only or IPv4 & IPv6)
# OpenDNS (IPv4 & IPv6)
#resolver 208.67.222.222 208.67.220.220 [2620:0:ccc::2] [2620:0:ccd::2];
# OpenDNS (IPv4 only)
#resolver 208.67.222.222 208.67.220.220;
# Google Public DNS (IPv4 & IPv6)
#resolver 8.8.8.8 8.8.4.4 [2001:4860:4860::8888] [2001:4860:4860::8844];
# Google Public DNS (IPv4 only) [default]
resolver 8.8.8.8 8.8.4.4;
## Real IP Forwarding ##
set_real_ip_from 127.0.0.1;
# CloudFlare IPs
# List from: https://www.cloudflare.com/ips-v4
set_real_ip_from 103.21.244.0/22;
set_real_ip_from 103.22.200.0/22;
set_real_ip_from 103.31.4.0/22;
set_real_ip_from 104.16.0.0/12;
set_real_ip_from 108.162.192.0/18;
set_real_ip_from 131.0.72.0/22;
set_real_ip_from 141.101.64.0/18;
set_real_ip_from 162.158.0.0/15;
set_real_ip_from 172.64.0.0/13;
set_real_ip_from 173.245.48.0/20;
set_real_ip_from 188.114.96.0/20;
set_real_ip_from 190.93.240.0/20;
set_real_ip_from 197.234.240.0/22;
set_real_ip_from 198.41.128.0/17;
# List from: https://www.cloudflare.com/ips-v6
set_real_ip_from 2400:cb00::/32;
set_real_ip_from 2405:8100::/32;
set_real_ip_from 2405:b500::/32;
set_real_ip_from 2606:4700::/32;
set_real_ip_from 2803:f800::/32;
set_real_ip_from 2c0f:f248::/32;
set_real_ip_from 2a06:98c0::/29;
# Replace with correct visitor IP
real_ip_header X-Forwarded-For;
real_ip_recursive on;
## MIME ##
include /etc/nginx/mime.types;
default_type application/octet-stream;
## Logging Settings ##
access_log /var/log/nginx/access.log;
error_log /var/log/nginx/error.log;
## Gzip Settings ##
gzip on;
gzip_buffers 16 8k;
gzip_comp_level 5;
gzip_disable "msie6";
gzip_min_length 256;
gzip_proxied any;
gzip_types
application/atom+xml
application/javascript
application/json
application/ld+json
application/manifest+json
application/rss+xml
application/vnd.geo+json
application/vnd.ms-fontobject
application/x-font-ttf
application/x-javascript
application/x-web-app-manifest+json
application/xhtml+xml
application/xml
font/opentype
image/bmp
image/svg+xml
image/x-icon
text/cache-manifest
text/css
text/javascript
text/plain
text/vcard
text/vnd.rim.location.xloc
text/vtt
text/x-component
text/x-cross-domain-policy
text/x-js
text/xml;
gzip_vary on;
# Security Headers
add_header X-XSS-Protection "1; mode=block" always;
add_header X-Content-Type-Options "nosniff" always;
# Info
add_header X-Nginx-Cache-Status $upstream_cache_status;
add_header X-Server-Powered-By "Engintron";
# Proxy Cache Settings
proxy_cache_path /var/cache/nginx/engintron_dynamic levels=1:2 keys_zone=engintron_dynamic:20m inactive=10m max_size=512m;
proxy_cache_path /var/cache/nginx/engintron_static levels=1:2 keys_zone=engintron_static:20m inactive=10m max_size=512m;
proxy_temp_path /var/cache/nginx/engintron_temp;
## Virtual Host Configs ##
include /etc/nginx/conf.d/*.conf;
What I ask is, how can I make the cUrl check if the website B is slow or down to stop that request if no response in 4-5-6 seconds? Or there is something I can increase in my configuration? I also see that Load Averages doesn't go more than 1.5 (this was the maximum for all the server).
System Status now:
Processors: 8 CPU(s)
RAM: 31.19 GB
Memory Usage:
total used free shared buff/cache available
Mem: 31940 2155 2301 686 27484 28449
Swap: 1021 22 999
From what I see there is a limit somewhere that if the X connections is reached it gets slowed or timeout, but don't know were.
On my Dedicate Server I have all setup configuration to default from WHM Cpanel, except the configuration from nginx.
P.S. I'm not good at all with servers and if can someone guide me.
EDIT
Still one site is down (after modifying the timeout to be the same) and rest are working ok.
This are the connection on my server now:
Active connections: 4382
server accepts handled requests
457784 457784 478795
Reading: 0 Writing: 4071 Waiting: 310
Usually there are maximum 1000 active connections...
nginx apache-2.4 php-fpm
I have a dedicated server with 32 gb ram / 8 processors.
I use on all my sites cUrl php displaying some code. The website from where I make the cUrl is a VPS where I use another cUrl with multiple proxies that switches every request.
So I use like this: on site A (Dedicated Server) curl to site B (VPS).
The cUrl code looks like this:
$url = "https://siteB.com/code";
$ch = curl_init();
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt ($ch, CURLOPT_URL, $url);
curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, 7);
curl_setopt ($ch, CURLOPT_TIMEOUT, 7);
$curl_res = curl_exec($ch);
curl_close ($ch);
My problem is that on a website (site A in this case) I have like 300k visitors per day and if the site B doesn't respond for any reason the site A gets 504 timeout and the other websites on dedicated server works ok.
On error log from site A I have errors like this:
25329#25329: *3623 upstream timed out (110: Connection timed out) while reading response header from upstream
When I check Nginx I see that from 40-50 writing (that were usually) there are to many writing processes and from here it gets timeout
Active connections: 1756
server accepts handled requests
11367 11367 11377
Reading: 0 Writing: 1395 Waiting: 361
My nginx configuration is:
worker_processes auto;
worker_rlimit_nofile 65535;
events
multi_accept on;
use epoll;
worker_connections 65535;
http
## Basic Settings ##
client_body_buffer_size 128k;
client_body_timeout 5s; # Use 5s for high-traffic sites
client_header_timeout 5s; # Use 5s for high-traffic sites
client_max_body_size 1024m;
keepalive_timeout 30s;
open_file_cache max=200000 inactive=20s;
open_file_cache_errors on;
open_file_cache_min_uses 2;
open_file_cache_valid 30s;
port_in_redirect off;
reset_timedout_connection on;
send_timeout 5s;
sendfile on;
server_name_in_redirect off;
server_names_hash_bucket_size 1024;
server_names_hash_max_size 1024;
server_tokens off;
tcp_nodelay on;
tcp_nopush on;
types_hash_max_size 2048;
## DNS Resolver ##
# If in China, enable the OpenDNS entry that matches your network connectivity (IPv4 only or IPv4 & IPv6)
# OpenDNS (IPv4 & IPv6)
#resolver 208.67.222.222 208.67.220.220 [2620:0:ccc::2] [2620:0:ccd::2];
# OpenDNS (IPv4 only)
#resolver 208.67.222.222 208.67.220.220;
# Google Public DNS (IPv4 & IPv6)
#resolver 8.8.8.8 8.8.4.4 [2001:4860:4860::8888] [2001:4860:4860::8844];
# Google Public DNS (IPv4 only) [default]
resolver 8.8.8.8 8.8.4.4;
## Real IP Forwarding ##
set_real_ip_from 127.0.0.1;
# CloudFlare IPs
# List from: https://www.cloudflare.com/ips-v4
set_real_ip_from 103.21.244.0/22;
set_real_ip_from 103.22.200.0/22;
set_real_ip_from 103.31.4.0/22;
set_real_ip_from 104.16.0.0/12;
set_real_ip_from 108.162.192.0/18;
set_real_ip_from 131.0.72.0/22;
set_real_ip_from 141.101.64.0/18;
set_real_ip_from 162.158.0.0/15;
set_real_ip_from 172.64.0.0/13;
set_real_ip_from 173.245.48.0/20;
set_real_ip_from 188.114.96.0/20;
set_real_ip_from 190.93.240.0/20;
set_real_ip_from 197.234.240.0/22;
set_real_ip_from 198.41.128.0/17;
# List from: https://www.cloudflare.com/ips-v6
set_real_ip_from 2400:cb00::/32;
set_real_ip_from 2405:8100::/32;
set_real_ip_from 2405:b500::/32;
set_real_ip_from 2606:4700::/32;
set_real_ip_from 2803:f800::/32;
set_real_ip_from 2c0f:f248::/32;
set_real_ip_from 2a06:98c0::/29;
# Replace with correct visitor IP
real_ip_header X-Forwarded-For;
real_ip_recursive on;
## MIME ##
include /etc/nginx/mime.types;
default_type application/octet-stream;
## Logging Settings ##
access_log /var/log/nginx/access.log;
error_log /var/log/nginx/error.log;
## Gzip Settings ##
gzip on;
gzip_buffers 16 8k;
gzip_comp_level 5;
gzip_disable "msie6";
gzip_min_length 256;
gzip_proxied any;
gzip_types
application/atom+xml
application/javascript
application/json
application/ld+json
application/manifest+json
application/rss+xml
application/vnd.geo+json
application/vnd.ms-fontobject
application/x-font-ttf
application/x-javascript
application/x-web-app-manifest+json
application/xhtml+xml
application/xml
font/opentype
image/bmp
image/svg+xml
image/x-icon
text/cache-manifest
text/css
text/javascript
text/plain
text/vcard
text/vnd.rim.location.xloc
text/vtt
text/x-component
text/x-cross-domain-policy
text/x-js
text/xml;
gzip_vary on;
# Security Headers
add_header X-XSS-Protection "1; mode=block" always;
add_header X-Content-Type-Options "nosniff" always;
# Info
add_header X-Nginx-Cache-Status $upstream_cache_status;
add_header X-Server-Powered-By "Engintron";
# Proxy Cache Settings
proxy_cache_path /var/cache/nginx/engintron_dynamic levels=1:2 keys_zone=engintron_dynamic:20m inactive=10m max_size=512m;
proxy_cache_path /var/cache/nginx/engintron_static levels=1:2 keys_zone=engintron_static:20m inactive=10m max_size=512m;
proxy_temp_path /var/cache/nginx/engintron_temp;
## Virtual Host Configs ##
include /etc/nginx/conf.d/*.conf;
What I ask is, how can I make the cUrl check if the website B is slow or down to stop that request if no response in 4-5-6 seconds? Or there is something I can increase in my configuration? I also see that Load Averages doesn't go more than 1.5 (this was the maximum for all the server).
System Status now:
Processors: 8 CPU(s)
RAM: 31.19 GB
Memory Usage:
total used free shared buff/cache available
Mem: 31940 2155 2301 686 27484 28449
Swap: 1021 22 999
From what I see there is a limit somewhere that if the X connections is reached it gets slowed or timeout, but don't know were.
On my Dedicate Server I have all setup configuration to default from WHM Cpanel, except the configuration from nginx.
P.S. I'm not good at all with servers and if can someone guide me.
EDIT
Still one site is down (after modifying the timeout to be the same) and rest are working ok.
This are the connection on my server now:
Active connections: 4382
server accepts handled requests
457784 457784 478795
Reading: 0 Writing: 4071 Waiting: 310
Usually there are maximum 1000 active connections...
nginx apache-2.4 php-fpm
nginx apache-2.4 php-fpm
edited May 12 at 20:46
vezeCS
asked May 5 at 14:48
vezeCSvezeCS
11
11
add a comment |
add a comment |
1 Answer
1
active
oldest
votes
You set send_timeout
(and several other timeouts) to 5 seconds, but your PHP code that calls the external web site waits up to 7 seconds for it to respond. Obviously this won't work. You need to change one or both.
Changed now to have same same value as the cUrl. Will get back with results.
– vezeCS
May 5 at 19:09
add a comment |
Your Answer
StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "2"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);
else
createEditor();
);
function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);
);
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fserverfault.com%2fquestions%2f965950%2f504-timeout-using-to-many-curl-from-website-that-is-down%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
You set send_timeout
(and several other timeouts) to 5 seconds, but your PHP code that calls the external web site waits up to 7 seconds for it to respond. Obviously this won't work. You need to change one or both.
Changed now to have same same value as the cUrl. Will get back with results.
– vezeCS
May 5 at 19:09
add a comment |
You set send_timeout
(and several other timeouts) to 5 seconds, but your PHP code that calls the external web site waits up to 7 seconds for it to respond. Obviously this won't work. You need to change one or both.
Changed now to have same same value as the cUrl. Will get back with results.
– vezeCS
May 5 at 19:09
add a comment |
You set send_timeout
(and several other timeouts) to 5 seconds, but your PHP code that calls the external web site waits up to 7 seconds for it to respond. Obviously this won't work. You need to change one or both.
You set send_timeout
(and several other timeouts) to 5 seconds, but your PHP code that calls the external web site waits up to 7 seconds for it to respond. Obviously this won't work. You need to change one or both.
answered May 5 at 15:05
Michael Hampton♦Michael Hampton
177k27322655
177k27322655
Changed now to have same same value as the cUrl. Will get back with results.
– vezeCS
May 5 at 19:09
add a comment |
Changed now to have same same value as the cUrl. Will get back with results.
– vezeCS
May 5 at 19:09
Changed now to have same same value as the cUrl. Will get back with results.
– vezeCS
May 5 at 19:09
Changed now to have same same value as the cUrl. Will get back with results.
– vezeCS
May 5 at 19:09
add a comment |
Thanks for contributing an answer to Server Fault!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fserverfault.com%2fquestions%2f965950%2f504-timeout-using-to-many-curl-from-website-that-is-down%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown