[CentOS] more recent perl version?
Japheth Cleaver
cleaver at terabithia.org
Tue Jun 6 05:27:21 UTC 2017
On 6/5/2017 7:21 AM, Warren Young wrote:
> On Jun 3, 2017, at 4:13 AM, hw <hw at gc-24.de> wrote:
>
>> Perl is pretty fast, and most of the work is being done by the database,
>> so I´m not sure how using an alternative to CGI could make things go faster.
> There are many reasons CGI is relatively slow.
>
> 1. If you have many connections per second, you need a parallelizable technology to make things go fast. If everything chokes down to a single thread, you’ve got a serious bottleneck when the CPS count gets high enough.
>
> 2. CGI re-launches the cgi-bin/* programs on every page hit. Since Perl doesn’t leave behind “compiled” forms of the program as some other dynamic languages do (e.g. *.pyc in Python, *.beam in Erlang) it has to do the entire re-compilation over again.
>
> With FastCGI or Plack, the app remains running once launched, serving hit after hit using the same instance.
>
> 3. A follow-on advantage from the above is that you also don’t have to re-establish other runtime resources like DB connections, file handles, application state, etc. You can just keep it in RAM and access it repeatedly on each hit.
>
> But again, down below about 1 CPS, the differences cease to matter, unless you’ve got the sort of app where the difference between a response time of 50 vs 100 ms matters.
Along these lines, SpeedyCGI forms an interesting middle ground between
apache-layer perl runtimes and simple CGI re-execution.
If your perl scripts are already mod_perl-safe or have been written with
persistency in mind (properly preparing SQL statements, reusing handles,
clean variables, etc.), a simple shebang exchange can give you quite a
large performance boost, as you're trading an entire perl compilation
and execution for a small C wrapper that connects to an existing perl
runtime.
Although upstream hasn't had any changes to it in nigh 15 years, it's
still right there and available in EPEL 7 as perl-CGI-SpeedyCGI. I'd
suggest giving it a shot.
HTH,
-jc
More information about the CentOS
mailing list