Graham Dumpleton
grahamd at dscpl.com.au
Thu Aug 25 02:19:28 EDT 2005
Why are you doing: reload(pxtl) What is it about "import" that isn't enough? M Chaudhary wrote .. > > Hello friends, > > 1) When I perform just file io it takes 0.00026 seconds. > import time > fp = open("xyz.html","r") > s = fp.read() > fp.close() > stime = time.time() > fp = open('xyz.px','w') > fp.write(s) > fp.close() > etime = time.time() > print etime-stime > > > 2) When I perform just pxtl processing it takes 0.064 seconds. > > import time > stime = time.time() > import pxtl > reload(pxtl) > pxtl.processFile('xyz.px') > etime = time.time() > print etime-stime > > 3) When I perform pxtl processing along with file-io it takes 1.33 seconds. > import time > fp = open("xyz.html","r") > s = fp.read() > fp.close() > stime = time.time() > fp = open('xyz.px','w') > fp.write(s) > fp.close() > import pxtl > reload(pxtl) > pxtl.processFile('xyz.px') > etime = time.time() > print etime-stime > > As you can see there is a major difference in 1+2 and 3 . > Can you please tell me what the problem might be and what should i do ? > I am using PXTL for developing a website along with file io as PXTL does > not support string processing . > Thanks in Advance. > Regards, > Ajinkya > > Orr, Steve wrote: > > >Well obviously mod_python is performing well and I doubt anything > >connected with Linux versions would account for that much difference so > >the thing to focus on would be tuning dbxml or the code associated with > >it. Don't you have a way to run/test chunks of code outside of a web > >environment? > > > >-----Original Message----- > >From: M Chaudhary [mailto:igp-dev at infogridpacific.com] > >Sent: Tuesday, August 23, 2005 12:13 AM > >To: mod_python at modpython.org > >Cc: Orr, Steve; IGP; and at doxdesk.com; xml at sleepycat.com > >Subject: Re: [mod_python] Performance Problem > > > >Hello Orr, Steve , > > As you told i tested my application using "ab" tool for three > >cases (each for single request and 5 concurrent requests ):- > >and the results were as follows (the following log was generated from > my > > > >mod-python handler itself using time.time() method ) ---- > >Attached is the test module . Please check it and view the following > >results. > >#----------------------------------------------------------------------- > >---------------------------- > ># Test 1 -- dbxml :- get a document and write it to browser > >#----------------------------------------------------------------------- > >---------------------------- > >0.00605797767639 # single request > >0.0058479309082 > >0.00573110580444 > >0.148849010468 > >0.00549292564392 > >0.00417685508728 # 5 concurrent requests > >0.00559282302856 > >0.00551891326904 > >0.00600981712341 > >0.00549983978271 > >#----------------------------------------------------------------------- > >---------------------------- > ># Test 2 -- pxtl :- pxtl process a File and write it to browser > >#----------------------------------------------------------------------- > >---------------------------- > >1.65334200859 # single request > >0.25177192688 > >0.261835098267 > >0.294239997864 > >0.000832080841064 > >0.428733825684 # 5 concurrent requests > >0.440675020218 > >0.269226074219 > >0.237013816833 > >0.13219499588 > >#----------------------------------------------------------------------- > >---------------------------- > ># Test 3 -- pxtl and dbxml :- get a document from dbxml container ,pxtl > > > >process it and write it to browser > >#----------------------------------------------------------------------- > >---------------------------- > >3.01918792725 # single request > >13.4880371094 > >14.6321718693 > >15.9680738449 # 5 concurrent requests > >16.1954669952 > >0.010479927063 > >17.400357008 > >12.5239679813 > >11.8724710941 > >10.8379950523 > >#----------------------------------------------------------------------- > >---------------------------- > > > >As you can see the first problem is that when i test it for 5 concurrent > > > >request i get 9 entries in my log file > >each in each case. > >And the second but most annoying problem is for Test 3 ( for both pxtl > >and dbxml ) it takes more than 10 seconds > >to satisfy each request . > >Even i tested my application on Upgraded Kernel (2.6.9-11.EL). > >Should i use any other Linux distribution. > >Can you tell me what the problem may be ? And what should i do ? > > > >Regards, > >Ajinkya N > > > > > >Orr, Steve wrote: > > > > > > > >>I can't see that mod_python would be the problem. For a given request, > >>what percentage of the overall response time is involved with database > >>access versus code execution? You need to know that. I'd first try > >>tuning the code before doing any web stuff. Especially tune the > >> > >> > >database > > > > > >>queries and the network access to the database before going through the > >>web server. Then setup database connection pooling so each page request > >>reuses a connection instead of establishing a new connection with each > >>page turn. Can you do some kind of session management to avoid > >> > >> > >repop'ing > > > > > >>"the container" with each page turn? > >> > >>Using ab I did some bench marking a year ago and with an old, cheap > >> > >> > >Dell > > > > > >>2GHz PC with 512M RAM as the web server I was able to get 750 page > >> > >> > >turns > > > > > >>per second. The database was Oracle and I used the connection pooling > >>feature that comes with cx_Oracle on the OCI. (A persistent connection > >>can be established for each Apache process so this isn't really > >>necessary.) I also reused cursors to avoid the parsing overhead. > >>(Besides doing web development I'm a DBA dweeb.) Without mod_python and > >>connection pooling it got as slow as 11 requests per second. Of course > >>my benchmarking was doing simple stuff but I was satisfied that > >>Apache/mod_python would perform well and I wouldn't have to go down a > >>"Twisted" path. Don't know anything about dbxml but you should address > >>the architecture/code first. If performance is really a big issue then > >>consider load balanced web servers and a good disk array setup on the > >> > >> > >db > > > > > >>server. > >> > >> > >>Steve Orr > >> > >> > >>-----Original Message----- > >>From: mod_python-bounces at modpython.org > >>[mailto:mod_python-bounces at modpython.org] On Behalf Of IGP > >>Sent: Wednesday, August 17, 2005 11:01 PM > >>To: xml at sleepycat.com; mod_python at modpython.org > >>Subject: [mod_python] Performance Problem > >> > >>I am accessing dbxml via my mod-python handler. > >>The dbxml manager instance is created , the container is opened and > >> > >> > >the > > > > > >>required operation > >>is performed(querying , geting a document ) for each client request . > >>This is affecting the > >>performance . Is there any way to enhance the performance ? I mean that > >> > >> > > > > > > > >>the XmlManager instance > >>will be created only once , the container will be opened and the stored > >> > >> > > > > > > > >>in memory , so that the > >>response time will decrease . > >>I am using following versions of software > >>1) dbxml - 2.1.8 > >>2) python - 2.3.4 > >>3) mod-python - 1.3.4 > >>4) apache 2.0.52 > >>5) Kernel version-2.6.9-5.0.5-EL > >> > >>Please do reply if you know the solution . > >>Thanks in Advance, > >>Regards, > >>Ajinkya > >> > >>_______________________________________________ > >>Mod_python mailing list > >>Mod_python at modpython.org > >>http://mailman.modpython.org/mailman/listinfo/mod_python > >> > >> > >>_______________________________________________ > >>Mod_python mailing list > >>Mod_python at modpython.org > >>http://mailman.modpython.org/mailman/listinfo/mod_python > >> > >> > >> > >> > >> > >> > >> > >> > > > >_______________________________________________ > >Mod_python mailing list > >Mod_python at modpython.org > >http://mailman.modpython.org/mailman/listinfo/mod_python > > > > > > > > > > > > > _______________________________________________ > Mod_python mailing list > Mod_python at modpython.org > http://mailman.modpython.org/mailman/listinfo/mod_python
|