Thak you for the response and suggestion, will get back to you till I check
what is GIL in python. Thank you once again.

On Thu, Aug 18, 2022 at 2:36 PM Graham Dumpleton <[email protected]>
wrote:

> Because Python uses a global interpreter lock which means in effect that
> even when multithreading is used, that only one pure Python bit of code can
> run at a time.
>
> In your case you are causing a CPU intensive task to occur in pure Python,
> without any callouts to anything which would cause that thread to give up
> control. Python will in that case still periodically pause the thread when
> executing in pure Python code, but you can still see a thread which is CPU
> intensive and pure Python code monopolise control and so when multiple
> requests they don't all get to equally run.
>
> What I suggest you do is swap that CPU intensive code loop with a
> time.sleep() call instead and retest. In that case you should see the time
> take for each the same, as the time.sleep() is one of those points which
> will allow the Python interpreter to swap which thread is running and thus
> threads can interleave execution properly.
>
> Anyway, go read up about the Python global interpreter lock and its impact
> on multithreading performance.
>
> If you have a really intensive CPU task, then farm execution of it out
> into a separate process, although since you are using Windows that can get
> messy. On Linux there are other options, but on Windows you are probably
> more constrained on what you can do.
>
> On 18 Aug 2022, at 6:36 pm, Gopi Pulithara <[email protected]> wrote:
>
> Hello my python file __init__.py contains
> from flask import Flask
> from waitress import serve
>
> app = Flask(__name__)
> @app.route("/")
> def hello():
>     return "Hello, Flask!"
>
> @app.route("/GP")
> def helloGP():
>     return "Hello, Flask GP!"
>
> @app.route("/test1a")
> def testSalim():
>     minute    = 100000000
>     nDelay = 0
>     for X in range(minute):
>         nDelay = nDelay+1
>     # return jsonify(data = nDelay)
>     return str(nDelay)
>
> if __name__ == "__main__":
>     serve(app)
>
> my wsgi file
>
> #!/usr/bin/python
> import sys
> sys.path.insert(0,"C:/Apache24_Py/htdocs")
> from helloworldapp import app as application
>
> and in virtual host file
> <VirtualHost *:5000>
>     ServerName 127.0.0.1:5000
>     ServerAlias 192.168.2.15:5000
>     ErrorLog "logs/app2-error.log"
>     CustomLog "logs/app2-access.log" common
>
>
>     #WSGIDaemonProcess 127.0.0.1:5000 processes=2 threads=25
>     WSGIScriptAlias /
> 'C:/Apache24_Py/htdocs/helloworldapp/helloworldapp.wsgi'
>     Alias /static/ 'C:/Apache24_Py/htdocs/helloworldapp/static'
>     <Directory 'C:/Apache24_Py/htdocs/helloworldapp/static'>
>     Require all granted
>     </Directory>
> </VirtualHost>
>
> While I call the api in postman with url
>
> http://localhost:5000/test1a gives result in 8.69s
>
> if this same api call by two users at a time the result will be 8.69s for
> one user and 15.35s for other user. Why is this like this ? Please help me
> to solve this. I am using Os windows 10 apache2.4 ad python 3.10.
>
> I start the apache by calling httpd in the bin folder from cmd and call
> the url in postman with get method. My apache log shows this
>
> [Thu Aug 18 12:15:13.617380 2022] [mpm_winnt:notice] [pid 18340:tid 420]
> AH00455: Apache/2.4.54 (Win64) OpenSSL/1.1.1p mod_fcgid/2.3.10-dev
> mod_wsgi/4.9.3 Python/3.10 PHP/8.1.9 configured -- resuming normal
> operations
>
> But in my apache log its showing equal time for the response.
>
> 192.168.2.62 - - [18/Aug/2022:12:16:55 +0530] "GET /test1a HTTP/1.1" 200 9
> 192.168.2.15 - - [18/Aug/2022:12:16:55 +0530] "GET /test1a HTTP/1.1" 200 9
>
> How can I solve this. please help and thanks in advance.
>
> --
> You received this message because you are subscribed to the Google Groups
> "modwsgi" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/modwsgi/a977075b-8cee-4069-92a4-028d6f064505n%40googlegroups.com
> <https://groups.google.com/d/msgid/modwsgi/a977075b-8cee-4069-92a4-028d6f064505n%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
>
>
> --
> You received this message because you are subscribed to the Google Groups
> "modwsgi" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/modwsgi/3E735148-2498-40ED-9DB1-51ECBF532FF4%40gmail.com
> <https://groups.google.com/d/msgid/modwsgi/3E735148-2498-40ED-9DB1-51ECBF532FF4%40gmail.com?utm_medium=email&utm_source=footer>
> .
>

-- 
You received this message because you are subscribed to the Google Groups 
"modwsgi" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/modwsgi/CANn5WM6hfHvTe-vFQ8QkkMXu_WwPbV4iZK9-hgPHXY4cd_0TOg%40mail.gmail.com.

Reply via email to