Your Ad Here

Thursday, January 12, 2012

django very slow on IIS (Windows server 2003)

Hello,

First post here, I'd like to thank everybody for the many answers I've
found here!

I've been using Django for a few years now (since 2008) and installed
different versions on Linux systems.

My problem now is that I HAVE to install Django on a windows server
(customer has only one computer running other services).
The computer is a Pentium III 591MHz with 2GB RAM.

I did install everything just fine :
- IIS
- xampp for mysql
- pyISAPIe for python and IIS
- my django app in IIS
- my database via phpmyadmin

I set the mysql engine to myISAM for performances and my.ini as a huge
database.
I do not use any DNS to get the database (127.0.0.1 in configuration
files)
I use keep alive connections in IIS

So, the problem is the app is very slow when hitting the database. For
instance, it takes like 30 seconds to save a short list of inlines in
an admin form.
I can't understand because my dev server, a Linux computer, is much
faster remotely.


This morning, I ran
C:\python -s cProfile -o stats.txt manage.py runserver
192.168.1.57:8080

The result is :
>>> p.strip_dirs().sort_stats('cumulative').print_stats(30)
Thu Jan 12 09:46:11 2012 stats.txt

100777 function calls (97825 primitive calls) in 1453.418 CPU
seconds

Ordered by: cumulative time
List reduced from 1564 to 30 due to restriction <30>

ncalls tottime percall cumtime percall
filename:lineno(function)
1 0.001 0.001 1453.422 1453.422 {execfile}
1 0.013 0.013 1453.420 1453.420 manage.py:2(<module>)
1 0.000 0.000 1453.162 1453.162 __init__.py:
431(execute_manager)
1 0.000 0.000 1453.152 1453.152 __init__.py:340(execute)
1 0.000 0.000 1451.760 1451.760 base.py:
182(run_from_argv)
1 0.000 0.000 1451.757 1451.757 base.py:193(execute)
1 0.000 0.000 1450.885 1450.885 runserver.py:39(handle)
1 0.000 0.000 1450.885 1450.885 runserver.py:69(run)
1 0.000 0.000 1450.885 1450.885 autoreload.py:129(main)
1 0.000 0.000 1450.885 1450.885 autoreload.py:
107(python_reloader)

1 0.000 0.000 1450.885 1450.885 autoreload.py:
96(restart_with_relo
ader)
1 1450.884 1450.884 1450.884 1450.884 {nt.spawnve}
56/40 0.001 0.000 1.925 0.048 importlib.py:
18(import_module)
65/41 0.057 0.001 1.924 0.047 {__import__}
1 0.000 0.000 1.387 1.387 __init__.py:
245(fetch_command)
3 0.018 0.006 1.016 0.339 __init__.py:3(<module>)
1 0.000 0.000 0.872 0.872 __init__.py:99(activate)
1 0.000 0.000 0.834 0.834 trans_real.py:
190(activate)


So, what is nt.spawnve?

And, does anybody has an idea?

Thanks
Anthony

--
You received this message because you are subscribed to the Google Groups "Django users" group.
To post to this group, send email to django-users@googlegroups.com.
To unsubscribe from this group, send email to django-users+unsubscribe@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/django-users?hl=en.

0 comments:

Post a Comment