Sometimes bottle takes a lot of time

Cecil Westerhof Cecil at decebal.nl
Sat Aug 22 17:06:03 EDT 2015


On Saturday 22 Aug 2015 20:03 CEST, Cecil Westerhof wrote:

> On Saturday 22 Aug 2015 17:33 CEST, Michael Torrie wrote:
>
>> On 08/22/2015 05:37 AM, Cecil Westerhof wrote:
>>>> I don't know. Is it bottle, or the browser, or something
>>>> completely different that eats the extra time?
>>>
>>> I really do not know. I suspect bottle, but I am new to this, so I
>>> value the suspicion of someone who has more experience more. :-D
>>
>> These are requests performed from browser Javascript (ajax), right?
>> Could you write a shell script that fetches these urls in sequence
>> using curl or wget, simulating the web browser? This would let you
>> check times in a controlled way, without the variable of the
>> browser itself.
>
> I should have thought about that myself. :-(

I used Python instead of a shell script of-course. :-P

========================================================================
#!/usr/bin/env python3

import time

from urllib.request import urlopen


server = 'http://localhost:8080'
urls   = [
    '/',
    '/static/css/default.css',
    '/static/JavaScript/angular.js',
    '/static/appPublishedPhotos.js',
    '/links/data',
    '/versionPython',
    '/versionSQLite',
]
for x in range(0, 10):
    start_time = time.time()
    for url in urls:
        print(url)
        urlopen(server + url).read()
    end_time = time.time()
    print('It took {0} seconds\n'.format(end_time - start_time), flush = True)
    time.sleep(20)
========================================================================

It is not perfect code, no error checking and the last sleep is
superfluous, but for the current job good enough.

I have included the output as attachment. It is clear that bottle is
not the problem: fetching all the data takes at most 0.017 seconds.

-------------- next part --------------
A non-text attachment was scrubbed...
Name: fetch.log
Type: text/x-log
Size: 1656 bytes
Desc: not available
URL: <http://mail.python.org/pipermail/python-list/attachments/20150822/baacbfe3/attachment.bin>
-------------- next part --------------

So my next bet is AngularJS.

-- 
Cecil Westerhof
Senior Software Engineer
LinkedIn: http://www.linkedin.com/in/cecilwesterhof


More information about the Python-list mailing list