سلام
من یه app نوشتم که به صورت api هست.
از passenger و nginx روی vps استفاده میکنم.
مشخصات vps:
Ram: 1 gb
cpu: 1 core
location: iran
اما وقتی با دستور
ap -kc 50 -t 200 http://domain.ir/
زیردرخواست زیادی بهش میدم، فکر میکنم passenger از پسش بر نمیاد.
در خواستی که با ab
فرستادم برای صفحه index هست و فقط ارور 404 رو نشون میده. یعنی بدون پردازش Model.
لاگ nginx:
$ tail -f -n 20 /var/log/nginx/error.log
[ 2015-11-03 10:14:33.3583 19531/7f2e57a25700 age/Ust/UstRouterMain.cpp:397 ]: Signal received. Gracefully shutting down... (send signal 2 more time(s) to force shutdown)
[ 2015-11-03 10:14:33.4817 19531/7f2e5e2317c0 age/Ust/UstRouterMain.cpp:467 ]: Received command to shutdown gracefully. Waiting until all clients have disconnected...
[ 2015-11-03 10:14:33.5061 19531/7f2e57a25700 Ser/Server.h:444 ]: [UstRouter] Shutdown finished
[ 2015-11-03 10:14:33.5060 19531/7f2e57224700 Ser/Server.h:759 ]: [UstRouterApiServer] Freed 0 spare client objects
[ 2015-11-03 10:14:33.5339 19531/7f2e57224700 Ser/Server.h:444 ]: [UstRouterApiServer] Shutdown finished
[ 2015-11-03 10:14:33.6127 19531/7f2e5e2317c0 age/Ust/UstRouterMain.cpp:498 ]: Passenger UstRouter shutdown finished
[ 2015-11-03 10:14:34.5511 20086/7f9db15c07c0 age/Wat/WatchdogMain.cpp:1276 ]: Starting Passenger watchdog...
[ 2015-11-03 10:14:34.8096 20089/7f67807477c0 age/Cor/CoreMain.cpp:957 ]: Starting Passenger core...
[ 2015-11-03 10:14:34.8098 20089/7f67807477c0 age/Cor/CoreMain.cpp:234 ]: Passenger core running in multi-application mode.
[ 2015-11-03 10:14:35.0320 20089/7f67807477c0 age/Cor/CoreMain.cpp:707 ]: Passenger core online, PID 20089
[ 2015-11-03 10:14:35.0589 20095/7fbfd975c7c0 age/Ust/UstRouterMain.cpp:504 ]: Starting Passenger UstRouter...
[ 2015-11-03 10:14:35.3160 20095/7fbfd975c7c0 age/Ust/UstRouterMain.cpp:317 ]: Passenger UstRouter online, PID 20095
[ 2015-11-03 10:15:03.2180 20083/7f169d5017c0 age/Wat/WatchdogMain.cpp:454 ]: Some Phusion Passenger agent processes did not exit in time, forcefully shutting down all.
فایل nginx.conf:
user www-data;
worker_processes 4;
pid /run/nginx.pid;
events {
worker_connections 768;
}
http {
sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 65;
types_hash_max_size 2048;
include /etc/nginx/mime.types;
default_type application/octet-stream;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2; # Dropping SSLv3, ref: POODLE
ssl_prefer_server_ciphers on;
access_log /var/log/nginx/access.log;
error_log /var/log/nginx/error.log;
gzip on;
gzip_disable "msie6";
# Phusion Passenger config
passenger_root /usr/lib/ruby/vendor_ruby/phusion_passenger/locations.ini;
passenger_ruby /home/reza/.rvm/gems/ruby-2.1.7/wrappers/ruby;
include /etc/nginx/conf.d/*.conf;
include /etc/nginx/sites-enabled/*;
}
اگه Ram یا CPU سرور مجازی رو افزایش بدم مشکل حل میشه؟
همین app قبلا این مشکل رو نداشت. از وقتی آوردمش روی سرور ایران اینطوری شده. سرور انگلیس رم 2 و سی پی یو 2 هسته ای داشت.
اگه با cloadFlare کانفیگ بشه چی؟
راه حل دیگه میتونید پیشنهاد کنید؟
خود passenger از thread استفاده میکنه؟ نمیشه از middleware استفاده کرد؟