Hi ,

I have a problem with mod_wsgi (3.4-14) / Apache 2.4.12 / cx_oracle 5.2 / 
Oracle 12 / Django 1.8.2 hanging under bigger load.
The configuration was used for the last several month in dev  / testing. 

Now when deployed to production environment Apache hangs after couple of 
minutes under bigger load (it works fine with small or moderate load).

I have a cluster of 3 Django/Apache/mod_wsgi servers and when this problems 
happens each server stops responding (one by one) within 5 - 15 minutes.


Here is my configuration

I am using Python 3.3 and Apache 2.4.12 and mod_wsgi-3.4-14 from Red Hat 
(6.7) Software Collection  

Apache Virtual Host

<VirtualHost *:8080>
...

        WSGIDaemonProcess app.prod processes=2 threads=25 display-name=%{GROUP} 
user=MY_USER python-path=MY_PATH
        WSGIProcessGroup app.prod
        WSGIScriptAlias / /opt/hosts/app/app/wsgi.py
</VirtualHost>


Apache version

Server version: Apache/2.4.12 (Red Hat)
Server built:   Aug 11 2015 08:12:59
Server's Module Magic Number: 20120211:41
Server loaded:  APR 1.5.1, APR-UTIL 1.5.4
Compiled using: APR 1.5.1, APR-UTIL 1.5.4
Architecture:   64-bit
Server MPM:     worker
  threaded:     yes (fixed thread count)
    forked:     yes (variable process count)
Server compiled with....
 -D APR_HAS_SENDFILE
 -D APR_HAS_MMAP
 -D APR_HAVE_IPV6 (IPv4-mapped addresses enabled)
 -D APR_USE_SYSVSEM_SERIALIZE
 -D APR_USE_PTHREAD_SERIALIZE
 -D SINGLE_LISTEN_UNSERIALIZED_ACCEPT
 -D APR_HAS_OTHER_CHILD
 -D AP_HAVE_RELIABLE_PIPED_LOGS
 -D DYNAMIC_MODULE_LIMIT=256
 -D HTTPD_ROOT="/opt/rh/httpd24/root/etc/httpd"
 -D SUEXEC_BIN="/opt/rh/httpd24/root/usr/sbin/suexec"
 -D DEFAULT_PIDLOG="/opt/rh/httpd24/root/var/run/httpd/httpd.pid"
 -D DEFAULT_SCOREBOARD="logs/apache_runtime_status"
 -D DEFAULT_ERRORLOG="logs/error_log"
 -D AP_TYPES_CONFIG_FILE="conf/mime.types"
 -D SERVER_CONFIG_FILE="conf/httpd.conf"

python33-mod_wsgi-3.4-14.el6.x86_64

Django db configuration

'default': {
    'ENGINE': 'django.db.backends.oracle',
    'NAME': 'DB_NAME',
    'USER': 'webuser',
    'PASSWORD': 'webpassword',
    'HOST': '',
    'PORT': '',
    'CONN_MAX_AGE': None,
    'OPTIONS': {
        'threaded': True,
    },
},



[root@taseapp-em1-02 ~]# pstack 17044
Thread 4 (Thread 0x7fb6ffb4b700 (LWP 17053)):
#0  0x00007fb70cf90423 in select () from /lib64/libc.so.6
#1  0x00007fb70d488535 in apr_sleep () from 
/opt/rh/httpd24/root/usr/lib64/libapr-1-httpd24.so.0
#2  0x00007fb7021d4340 in ?? () from 
/opt/rh/httpd24/root/etc/httpd/modules/mod_python33-wsgi.so
#3  0x00007fb70d24aa51 in start_thread () from /lib64/libpthread.so.0
#4  0x00007fb70cf979ad in clone () from /lib64/libc.so.6
Thread 3 (Thread 0x7fb6ff14a700 (LWP 17054)):
#0  0x00007fb70cf90423 in select () from /lib64/libc.so.6
#1  0x00007fb70d488535 in apr_sleep () from 
/opt/rh/httpd24/root/usr/lib64/libapr-1-httpd24.so.0
#2  0x00007fb7021d3ffb in ?? () from 
/opt/rh/httpd24/root/etc/httpd/modules/mod_python33-wsgi.so
#3  0x00007fb70d24aa51 in start_thread () from /lib64/libpthread.so.0
#4  0x00007fb70cf979ad in clone () from /lib64/libc.so.6
Thread 2 (Thread 0x7fb6fe749700 (LWP 17055)):
#0  0x00007fb70d2519b8 in fcntl () from /lib64/libpthread.so.0
#1  0x00007fb70d47b3a2 in ?? () from 
/opt/rh/httpd24/root/usr/lib64/libapr-1-httpd24.so.0
#2  0x00007fb7021de4d8 in ?? () from 
/opt/rh/httpd24/root/etc/httpd/modules/mod_python33-wsgi.so
#3  0x00007fb70d24aa51 in start_thread () from /lib64/libpthread.so.0
#4  0x00007fb70cf979ad in clone () from /lib64/libc.so.6
Thread 1 (Thread 0x7fb70e6e57e0 (LWP 17044)):
#0  0x00007fb70cf8e183 in poll () from /lib64/libc.so.6
#1  0x00007fb70d484480 in apr_poll () from 
/opt/rh/httpd24/root/usr/lib64/libapr-1-httpd24.so.0
#2  0x00007fb7021d8cf7 in ?? () from 
/opt/rh/httpd24/root/etc/httpd/modules/mod_python33-wsgi.so
#3  0x00007fb7021d9b51 in ?? () from 
/opt/rh/httpd24/root/etc/httpd/modules/mod_python33-wsgi.so
#4  0x00007fb7021df017 in ?? () from 
/opt/rh/httpd24/root/etc/httpd/modules/mod_python33-wsgi.so
#5  0x00007fb70e73d4f9 in ap_run_post_config ()
#6  0x00007fb70e71c78f in main ()


If I reduce the number of mod_wsgi then the problem goes away but the 
performance is not acceptable


WSGIDaemonProcess app.prod processes=4 threads=1 display-name=%{GROUP} 
user=MY_USER python-path=MY_PATH


Could anybody suggest what could be the cause or how could I debug it 
please?

Thanks,
Lukasz

-- 
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 post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/modwsgi.
For more options, visit https://groups.google.com/d/optout.

Reply via email to