Re: 回复: PHP Performance/Scalability
[email protected] (Deepak Goel)
| Newsgroups | php.general |
|---|---|
| Message-ID | <CA+b7NVWG0bAd9o7xOv8vCLvCpL4RS_2=9r=bwuYJ=cJw647X-A@mail.gmail.com> |
Hello Torsten
Some thoughts:
1. We are using a simple SQL Query in the code
$data = $this->db->select('user_id,email')
->where(array('email' => $email_address))
->order_by('user_id', 'DESC')
->limit(1)
->get('users')
->row_array();
2. We are using mysqli
3. The SQL Query takes time in msec. And the Database is not a performance
bottleneck
4. We use mostly images with <img src="">
5. We have seen fpm outperform mod_php
6. The Java code accesses the same database (The database is on a seperate
physical server). Also the queries are the same in Java as well PHP
7. I will try instrumenting the entire PHP code and see where the
bottleneck is.
Deepak
"The greatness of a nation can be judged by the way its animals are treated
- Mahatma Gandhi"
+91 73500 12833
[email protected]
Facebook: https://www.facebook.com/deicool
LinkedIn: www.linkedin.com/in/deicool
"Plant a Tree, Go Green"
Make In India : http://www.makeinindia.com/home
On Thu, Oct 28, 2021 at 11:23 AM Torsten Rosenberger <[email protected]>
wrote:
> Hello Deepak
>
> I think PHP-FPM had heavily reduce the concurrency of PHP.
> > PHP should immediately implement a API like WSGI/ASGI in python. It
> > is very simple but very useful.
> >
> > ------------------ 原始邮件 ------------------
> > 发件人: "Deepak Goel" <[email protected]>;
> > 发送时间: 2021年10月26日(星期二) 晚上11:15
> > 收件人: "Alex"<[email protected]>;
> > 抄送: "php-general General List"<[email protected]>;"Deepak
> > Sharma"<[email protected]>;
> > 主题: Re: PHP Performance/Scalability
> >
> > Hi
> >
> > The code is fairly simple. It contains a few images and a simple SQL
> > query (The same code in Java gives superb performance). We have an
> > Apache Web Server in front of php as of now. And I will try out this
> > (https://github.com/spiral/roadrunner).
>
> We are talking about a blackbox.
> The code is simple ?
>
> How long take's
> the sql query ?
> What do you use to access the database PDO or mysqli ?
> Y
> ou wrote java is faster. Your java code access the same database ?
>
> You wrote a few images ?
> Do you only show the images with <img src="">
> or are you converting them for thumbnails etc.
>
> A long time ago there was a great presentation from Rasmus about PHP
> Performance.
>
> So a simple query on my Server's with mod_php and mysql
> takes 0.0001 to 0.0008 seconds. If the simple query takes 0.01 Second
> which looks fast but php have to wait for the DB. So there you can
> loose factor 100 in the req/sec.
>
> Why are you using fpm and not the mod_php part in apache ?
> OPcache is
> active ?
>
> There are a lot of parameters we don't know.
>
> If you benchmark
> your code with an easy microtime(true) call to see how long your script
> takes.
> If you store the data in a file when you run your benchmark you
> can maybe see if a code part is waiting for the database or something
> else.
> So that the bottleneck ist not php.
>
> So i would go through the code
> with microtime() an look what takes long and then go deepter.
>
> if the
> code is heavy and the result dosen't change or a refresh after 5 min is
> ok you can use the APCu cache or so on.
>
> If your code is super fast an still slow requests then you have to
> strace the apache process to see if there is something miss configured.
>
>
> So as a PHP developer we cann't accept that Java is faster :)
>
> BR/Torsten
>
> > Thanks.
> >
> > Deepak
> > "The greatness of a nation can be judged by the way its animals are
> > treated - Mahatma Gandhi"
> >
> > +91 73500 12833
> > [email protected]
> >
> > Facebook: https://www.facebook.com/deicool
> > LinkedIn: www.linkedin.com/in/deicool
> >
> > "Plant a Tree, Go Green"
> >
> > Make In India : http://www.makeinindia.com/home
> >
> >
> > On Tue, Oct 26, 2021 at 5:15 PM Alex <[email protected]> wrote:
> > > Hi.
> > >
> > > On 26.10.21 11:53, Deepak Goel wrote:
> > > > Hello
> > > >
> > > > I have a very simple PHP application which I develop on Apache-
> > > Web-Server. However the application does
> > > > not scale beyond 1500 concurrent users (150 requests/sec), even
> > > though there is plenty of hardware
> > > > available (CPU is getting utilized 15%, Memory is getting
> > > utilized 15%).
> > > >
> > > > On a similar note, when I develop the same application in Java,
> > > it scales to more than 6000 concurrent
> > > > users (600 requests/sec) on the same hardware.
> > > >
> > > > Any pointers on how to address this scalability issue?
> > >
> > > The question is how "simple" is the PHP Code?
> > > Maybe you can tune the Code or use another Server in front of PHP
> > > FPM like haproxy, Caddy, nginx?
> > > Maybe you can try to run https://github.com/spiral/roadrunner to
> > > execute the PHP Code.
> > >
> > > Jm2c
> > >
> > > Regards
> > > Alex
> > >
> > > > Thanks!
> > > >
> > > > Deepak
> > > > "The greatness of a nation can be judged by the way its animals
> > > are treated - Mahatma Gandhi"
> > > >
> > > > +91 73500 12833
> > > > [email protected] <mailto:[email protected]>
> > > >
> > > > Facebook: https://www.facebook.com/deicool <
> > > https://www.facebook.com/deicool>
> > > > LinkedIn: www.linkedin.com/in/deicool <
> > > http://www.linkedin.com/in/deicool>
> > > >
> > > > "Plant a Tree, Go Green"
> > > >
> > > > Make In India : http://www.makeinindia.com/home <
> > > http://www.makeinindia.com/home>
> > >
>
>