Nginx + fcgiwrap több párhuzamos lekérdezés egyszerre

 ( SySERR | 2016. április 3., vasárnap - 20:00 )

Sziasztok!

Adott egy Debian 8-on futó perlben megírt video archív kereső rendszer ami idáig tökéletesen működött. Az utóbbi napokban jelentősebb mennyiségű adatot kapott ami miatt lelassult a kesesés kb 5-6 másodpercre. Ezzel nincs is gond mert várható volt. Viszont amíg az egyik gépen egy adott keresés folyik, addig a többin nem indul el semmilyen CGI-t futtató oldal (beleértve az archiv keresőt is). Helyette csak várakozik, és csak akkor indul el ha a másik gépen megjelent a keresés eredménye.
Jelenleg ezek az ide vonatkozó beállítások:
/etc/init.d/fcgiwrap:

.
.
# FCGI_APP Variables
FCGI_CHILDREN="10"
FCGI_MAX_REQUESTS="100"
.
.
DAEMON_OPTS="-c 10"
.
.

Az Nginx ide vonatkozó része (fastcgi.conf):

fastcgi_pass   unix:/var/run/fcgiwrap.socket;
fastcgi_param  SCRIPT_FILENAME    $document_root$fastcgi_script_name;
fastcgi_param  QUERY_STRING       $query_string;
fastcgi_param  REQUEST_METHOD     $request_method;
fastcgi_param  CONTENT_TYPE       $content_type;
fastcgi_param  CONTENT_LENGTH     $content_length;

fastcgi_param  SCRIPT_NAME        $fastcgi_script_name;
fastcgi_param  REQUEST_URI        $request_uri;
fastcgi_param  DOCUMENT_URI       $document_uri;
fastcgi_param  DOCUMENT_ROOT      $document_root;
fastcgi_param  SERVER_PROTOCOL    $server_protocol;
fastcgi_param  HTTPS              $https if_not_empty;

fastcgi_param  GATEWAY_INTERFACE  CGI/1.1;
fastcgi_param  SERVER_SOFTWARE    nginx/$nginx_version;

fastcgi_param  REMOTE_ADDR        $remote_addr;
fastcgi_param  REMOTE_PORT        $remote_port;
fastcgi_param  SERVER_ADDR        $server_addr;
fastcgi_param  SERVER_PORT        $server_port;
fastcgi_param  SERVER_NAME        $server_name;
fastcgi_param  REMOTE_USER        $remote_user;
# PHP only, required if PHP was built with --enable-force-cgi-redirect
#fastcgi_param  REDIRECT_STATUS    200;

Mit kell még beállítani, hogy valóban működjön a párhuzamosság?

Hozzászólás megjelenítési lehetőségek

A választott hozzászólás megjelenítési mód a „Beállítás” gombbal rögzíthető.

mi van a cgi másik oldalán? php?

irta, h perl

Ez mintha valami lockolási problémának tűnne. Nem lehet hogy olyan DB kérést indítasz, melyet csak az első kérés kiszolgálása után tud kiszolgálni a többi processznek és ezért van az, hogy csak az első végeztével fut le a többi?

Ha elindítom kézzel így:

/usr/bin/spawn-fcgi -P /var/run/fcgiwrap.pid -F '2' -s '/var/run/fcgiwrap.socket' -u 'www-data' -U 'www-data' -g 'www-data' -G 'www-data' -- /usr/sbin/fcgiwrap -c 10

...akkor tökéletesen működik.

-------------------
http://streamstat.hu/ - A legtöbb magyar rádió és TV egy helyen!

SElinux probléma (ha van)?