Liste des Groupes | Revenir à co vms |
In article <vcvmu1$3cnv1$2@dont-email.me>,The PHP code is very simple: read 3 rows from a database table
Arne Vajhøj <arne@vajhoej.dk> wrote:On 9/24/2024 5:09 PM, Dan Cross wrote:So this suggests that your PHP code, by itself, is not theIn article <vcv0bl$39mnj$1@dont-email.me>,>
Arne Vajhøj <arne@vajhoej.dk> wrote:I am not impressed by Apache + mod_php performance on VMS.>
>
The basic numbers I see (simple PHP code for getting some data
out of a MySQL database and displaying) are:
>
Apache + CGI : 4 req/sec = 240 req/min
Apache + mod_php : 11 req/sec = 660 req/min
Tomcat + Quercus : 127 req/sec = 7620 req/min
>
(VMS x86-64 9.2-2, Apache 2.4-58, Berryman PHP 8.1,
Java 8u372, Tomcat 8.5-89, Quercus 4.0)
>
That CGI is slow is no surprise. Using CGI for performance
is like doing 100 meter crawl dressed in medieval armor.
>
But I had expected much better numbers for mod_php. Instead
of the actual x2.5 and x10 I had expected like x10 and x2.5
between the three.
>
Anyone having any ideas for why it is like this and what
can be done about it?
Did you try running your test script under the PHP interpreter
directly, without the web stack? What kind of QPS numbers do
you see if it's just PHP talking to MySQL?
Just executing the same PHP code in a loop give much higher
performance.
>
Single process : 158 executions per second = 9480 executions per minute
>
And multi process could probably get significantly higher.
bottleneck,
though it remains unclear to me what you mean whenPHP script with a loop executing the same code as the web
you say, "just executing the same PHP code in a loop...": does
this mean that you're running the PHP interpreter itself in a
loop? As in, starting it fresh on every iteration? Or does
this mean that you've got a loop inside the PHP program that
runs your test and you're measuring the throughput of that? And
is this standalone, or executed under the web framework? That
is, are you running this under Apache and hitting some query
that then causes the PHP interpreter to repeatedly query the
database?
I am saying this because the numbers were the same. 11 req/secSurely it does. If, for whatever reason, you're not holdingWith no further details, I'd wonder if you're not caching>
connections to the database between queries.
Does not matter.
onto the connection to the database between queries, but rather,
re-establishing it each time, that will obviously have overhead
that will impact performance.
Or perhaps you're saying this because of some unstated
assumption alluded to in the questions above?
You brought up the topic, so I tested.I just found out that Tomcat+Quercus numbers get even higherThat's nice, but that seems irrelevant to the question of why
after some warmup.
>
no db con pool db con pool
Apache + CGI 4 N/A
Apache + mod_php 11 11
Tomcat + Quercus 208 214
PHP under Apache is so slow.
Perhaps a simpler question: what sort of throughput does ApacheNow it becomes interesting.
on VMS give you if you just hit a simple static resource
repeatedly?
Les messages affichés proviennent d'usenet.