Welcome! Log In Create A New Profile

Advanced

Nginx Tuning.

February 24, 2016 10:41AM
Alright here is the situtation. I have nginx and with passenger running. I can send load to the server and after a certain point I just start getting 500's back. I have not been able to see what is causing it. I have made tweaks to the config based on some blog posts but I can't get past a certain point. I get to about 1400 requests per minute and than start seeing 500s. The configs are below. It almost seems like I might be hitting an OS or server limit that I can't seem to find. The server is a 8CPU, 8GB cloud server.

nginx.conf

user www-data;
worker_processes 8;
worker_rlimit_nofile 30000;

error_log /var/log/nginx/error.log debug;
pid /var/run/nginx.pid;

events {
worker_connections 3500;
use epoll;
}

http {

log_format main '$status:$request_time:$upstream_response_time:$pipe:$body_bytes_sent $connection $
remote_addr $host $remote_user [$time_local] "$request" "$http_referer" "$http_user_agent" "$http_x_f
orwarded_for" $upstream_addr $upstream_cache_status "in: $http_cookie"'
include /etc/nginx/mime.types;
default_type application/octet-stream;

access_log /var/log/nginx/access.log;

sendfile on;
tcp_nopush on;
tcp_nodelay on;

keepalive_requests 100;
keepalive_timeout 65;


gzip on;
gzip_http_version 1.0;
gzip_comp_level 2;
gzip_proxied any;
gzip_vary off;
gzip_types text/plain text/css application/x-javascript text/xml application/xml application/rss+xm
l application/atom+xml text/javascript application/javascript application/json text/mathml;
gzip_min_length 1000;
gzip_disable "MSIE [1-6]\.";


variables_hash_max_size 1024;
variables_hash_bucket_size 64;
server_names_hash_bucket_size 64;
types_hash_max_size 2048;
types_hash_bucket_size 64;



include /etc/nginx/conf.d/*.conf;
include /etc/nginx/sites-enabled/*;
}


site.conf

server {
listen 0.0.0.0:80;
location ~ ^/api/.* {
include /etc/nginx/conf.d/include/restrict.include;
}
## redirect http to https ##
location ~ .* {
return 301 https://$host$request_uri;
}
}

server {
listen 0.0.0.0:443;
server_name somesite.net;
## set client body size to 15M, to address file upload limitations ##
client_max_body_size 15M;

include /etc/nginx/conf.d/actual_config/*.include;

ssl on;
ssl_certificate /etc/nginx/self_signed;
ssl_certificate_key /etc/nginx/cert.key;

# Display the maintenance page if it exists
if (-f $document_root/system/maintenance.html){
rewrite ^(.*)$ /system/maintenance.html last;
break;
}

# If the file exists as a static file serve it directly without
# running all the other rewite tests on it
if (-f $request_filename) {
break;
}

# this is the meat of the rails page caching config
# it adds .html to the end of the url and then checks
# the filesystem for that file. If it exists, then we
# rewite the url to have explicit .html on the end
# and then send it on its way to the next config rule.
# if there is no file on the fs then it sets all the
# necessary headers and proxies to our upstream mongrels
if (-f $request_filename.html) {
rewrite (.*) $1.html break;
}

# Use any statically compressed javascript or stylesheet files
location ~* ^/(javascripts|stylesheets)/.*\.(js|css) {
#gzip_static on;
}
}

passenger.conf

passenger_root /opt/ruby/lib/ruby/gems/2.2.0/gems/passenger-enterprise-server-5.0.24;
passenger_ruby /opt/ruby/bin/ruby;
passenger_max_pool_size 31;
passenger_min_instances 31;
passenger_pre_start https://llocalhost;
passenger_log_level 2;

site.conf

location / {
passenger_enabled on;
rails_env lt;

access_log /var/log/nginx/access.log;
error_log /var/log/nginx/error.log debug;

passenger_base_uri /;
alias /home/sites/site/current/public/$1;
passenger_app_root /home/sites/site/current;
index index.html index.htm;
}

#Asset displaying.
location ~ ^/(assets)/ {
gzip_static on;
expires max;
add_header Cache-Control public;
root /home/sites/site/current/public;
}
Subject Author Posted

Nginx Tuning.

rodrigda February 24, 2016 10:41AM

Re: Nginx Tuning.

Anoop Alias February 24, 2016 12:04PM

Re: Nginx Tuning.

rodrigda February 24, 2016 12:05PM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 312
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready