تعداد request بالا از rails

سلام
من یه 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 استفاده کرد؟

1 پسندیده

پیشنهاد می کنم نرم افزار رو لوکال تست کنی و بنچ مارک بزنی و اینم توجه داشته باش که پهنای باند و سرعت اینترنت سرور خیلی موثر. اما در کل این چیزی مقدار منابعی که داری با این بنچ مارک خوانایی نداره

2 پسندیده

ممنون
چطور benchmark بگیرم؟
از کدوم جم استفاده کنم. و کدش رو کجا وارد کنم؟

متاسفانه داخل ایران بسیاری از این دوستان سرور فروش برای سود بیشتر و تمایل بیشتر به امور نفسانی تا انسانی , کم فروشی را مباه میشمارند و شما نباید انتظار داشته باشید سرور تهیه شده قطعا همان چیزی است که شما مد نظر دارید . به طور مثال در open vz شما وقتی رم Peak میزنه , اگر تنظیمات open vz درست انجام نشده باشد و شما محدودیت ایجاد کرده باشی تو اپاچی و nginx مشکلات عجیب غریب زیادیی برات پیش میاد !
و یا مثلا تعداد mpage ها

پیشنهاد : کلا در وی پی اس های ایرانی از یک پروکسی مثل وارنیش استفاده کنید تا مشکلات کمتر شود .

1 پسندیده