I included an older version, need to include the latest one.
It needs to be tested but let's wait I post the latest version before
we do so.
Why?
@Tim, you made a very convincing case to me some time ago. Can you
share your benchmark with the rest of the users?
Massimo
For those curious, the basic difference is that Rocket handles a few
concurrent connections as fast as wsgiserver and many concurrent
connections much much faster. It's also smaller, with cleaner code.
-tim
--
You received this message because you are subscribed to the Google Groups "web2py-users" group.
To post to this group, send email to web...@googlegroups.com.
To unsubscribe from this group, send email to web2py+un...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/web2py?hl=en.
I tried to rewrite with gluon/sneaky, which also was 2x faster than
cherrypy's but did not have the time to test its wsgi compliance and
bring it to production.
Timothy took this very seriously and wrote a new server from scratch
that is very readable, requires SSL instead of OpenSSL (and it is
better because it comes with Python >=2.6), runs on python 2.x and
3.x. It scales better with multiple concurrent connections.
He showed me some benchmarks for an older version. We all look forward
to see he most updated benchmarks.
Massimo
On Mar 11, 10:36 am, Albert Abril <albert.ab...@gmail.com> wrote:
> Is Rocket a port of CherryPy? Or is made from zero? isn't 0.2 an earlier
> release yet?
> What's the principal difference from CherryPy? cleaner code, smaller.. and
> more?
>
> I'm questioning just for info of us the users, doesn't know so much about
> it.
>
> Thanks for all.
>
> Regatds!!
>
> On Thu, Mar 11, 2010 at 5:19 PM, Timothy Farrell <tfarr...@swgen.com> wrote:
> > The code has changed since version 0.1, Let me re-run some benchmarks.
> > I'll have time to tomorrow.
>
> > For those curious, the basic difference is that Rocket handles a few
> > concurrent connections as fast as wsgiserver and many concurrent connections
> > much much faster. It's also smaller, with cleaner code.
>
> > -tim
>
> > On 3/11/2010 10:08 AM, mdipierro wrote:
>
> >> We moved from cherrypy wsgiserver to Rocket, by Timothy Farrell.
>
> >> I included an older version, need to include the latest one.
>
> >> It needs to be tested but let's wait I post the latest version before
> >> we do so.
>
> >> Why?
> >> @Tim, you made a very convincing case to me some time ago. Can you
> >> share your benchmark with the rest of the users?
>
> >> Massimo
>
> > --
> > You received this message because you are subscribed to the Google Groups
> > "web2py-users" group.
> > To post to this group, send email to web...@googlegroups.com.
> > To unsubscribe from this group, send email to
> > web2py+un...@googlegroups.com<web2py%2Bunsu...@googlegroups.com>
> One at a time:
>
> > Is Rocket a port of CherryPy? Or is made from zero?
>
> No, it's my own code from the ground up. I did consult wsgiserver code in some areas, but I think that anyone who would examine the code would be satisfied to say it is not a derivative work.
>
> > isn't 0.2 an earlier release yet?
>
> Don't get caught up on version numbers. Version 0.2 has every major feature that wsgiserver has. Also 0.3.1 is out and 0.4 is on the way.
For a production system, I'm more interested in stability than performance. And despite the admitted arbitrariness of version-numbering choices, it's hard to make the case to management that moving to an 0.x server is safe.
What do *you* mean by labeling Rocket 0.x?
https://launchpad.net/rocket/+announcements
We will stress-test it with different browsers anyway.
Massimo
> He explained it partially here:
>
> https://launchpad.net/rocket/+announcements
>
> We will stress-test it with different browsers anyway.
I'm personally not that concerned.
My point is that saying 0.x raises all sorts of red flags for management.
If the problem is that the API is not stable, then call the current API 1.0, with a 2.0 in development. It's a small thing, but it'll save some of us a lot of grief.
> For a production system, I'm more interested in stability than performance. And despite the admitted arbitrariness of version-numbering choices, it's hard to make the case to management that moving to an 0.x server is safe.
>
> What do *you* mean by labeling Rocket 0.x?
>
That's a fair question. When I started, I had a certain set of features
and goals that I planned to reach. Upon finishing all of those features
and goal, there would be a 1.0 release. Since starting at least three
of these goals have fallen by the wayside due to their improbability or
lack of flexibility withing Python or the WSGI specification.
In the end, I'll probably skip a few 0.x releases and go straight to 1.0
whenever I feel that there are enough of the features I originally set
out to include.
Like web2py, I strive to make every announced/released version stable
enough to include in a project. I've been running web2py on different
versions of Rocket for several months now.
-tim
Use this code
db.define_table('image',Field('upload'))
Please test upload and download of a large files via appadmin into
"image" table.
Please let us know which browser you tested and whether it worked or
you experience any problem.
Massimo
db.define_table('image',Field('upload', 'upload'))
I have successfully up- and downloaded files as large as 480MB and apps
as large as 160MB (any larger apps crashed on unzipping). In all cases
I was testing over HTTPS.
-tim
Massimo
I suppose I'm repeating myself, but so be it.
For that kind of situation, I think it's helpful for everyone to communicate stability by releasing 1.0, and (depending on your numbering philosophy) bug fixes with 1.0.x, significant feature additions with 1.x, and (especially incompatible) API changes with 2.0. Or some such.
[1] http://seleniumhq.org/
[2] http://jimmyg.org/blog/2009/getting-started-with-selenium-and-python.html
[3] http://www.pyccuracy.org/
> --
> You received this message because you are subscribed to the Google Groups
> "web2py-users" group.
> To post to this group, send email to web...@googlegroups.com.
> To unsubscribe from this group, send email to
> web2py+un...@googlegroups.com.
> For more options, visit this group at
> http://groups.google.com/group/web2py?hl=en.
>
>
--
Álvaro Justen - Turicas
http://blog.justen.eng.br/
21 9898-0141
Content-Length: -556031510
Oops. This is in IE 5.5 all the way to IE 8. I suspect that anything
over 2 GB is overflowing the signed int.
Anyway I'm calling the IE family good for anything under 2GB.
-tim
Don't we all love IE? When we discover bugs in our won code we can
think of IE and feel better about ourselves.
Massimo
The problem Tim reported, as he indicates, also exists for subsequent
IE version. I am sure cherrypy chokes on that too so this is not an
issue.
On Mar 11, 3:51 pm, Albert Abril <albert.ab...@gmail.com> wrote:
> well we shouln't worry a lot about IE 5.5, no? 5.5!!
>
> let me link this:http://farm4.static.flickr.com/3609/3629069606_3d1a1cd8fb_b.jpg
>
> > web2py+un...@googlegroups.com<web2py%2Bunsu...@googlegroups.com>
> He explained it partially here:
>
> https://launchpad.net/rocket/+announcements
>
> We will stress-test it with different browsers anyway.
Not just browsers, right, but backending other servers and server variations? (mod_wsgi, mod_proxy, nginx, etc)
> mod_proxy yes. The other servers options do not use it. They do not
> use wsgiserver now.
Right, thanks.
How I conducted these benchmarks:
CPU: Athlon 4050e 2.1 GHz
RAM: 3GB
OS: Windows 7 Ultimate
Python 2.6.1
Rocket 0.3.1
Cherrypy 3.1.2
I used ApacheBench to run the numbers you see.
The wsgi app used was as basic as it gets:
def test_app(env, start_response):
start_response('200 OK',
[('Content-Type', 'text/plain')])
return ["True"]
Apache (and mod_wsgi) were not particularly tuned but were included to
show generally where it would end up on scales. Don't take this as a
definitive look at Apache or mod_wsgi's performance (back you
nginx/cherokee/lighty trolls! ;-). This is about a server that can be
included in web2py.
You'll notice some blank entries in the numbers...here's why:
My original intervals were 1,2,5,10,25,50,100,250,500,1000. However, I
added in 6,7,8 after seeing Cherrypy's performance hit a wall. I wanted
to show where that happened. I didn't see it necessary to include
Rocket or mod_wsgi in those iterations since they saw no such wall.
mod_wsgi does not include numbers for 500 or 1000 concurrent connections
because at that point Apache started rejecting connections. This would
not be an issue on a properly configured Apache. Once again, the main
comparison here is between Rocket and Cherrypy's wsgiserver.
If you would like the full spreadsheet, email me privately.
-tim
> Rocket Benchmarks.pdf
> 10KViewDownload
On 11 mar, 16:08, mdipierro <mdipie...@cs.depaul.edu> wrote:
> We moved from cherrypy wsgiserver to Rocket, by Timothy Farrell.
>
> I included an older version, need to include the latest one.
>
> It needs to be tested but let's wait I post the latest version before
> we do so.
>
> Why?
> @Tim, you made a very convincing case to me some time ago. Can you
> share your benchmark with the rest of the users?
>
> Massimo
after upgrading yesterday web2py, I notice that apache stops
(WebFaction). This is a portion of error_log:
[Fri Mar 12 14:56:08 2010] [error] WARNING:root:unable to import
Rocket
[Fri Mar 12 15:00:47 2010] [notice] caught SIGTERM, shutting down
[Fri Mar 12 15:02:55 2010] [notice] Apache/2.2.12 (Unix) mod_wsgi/2.5
Python/2.5.4 configured -- resuming normal operations
[Fri Mar 12 15:03:06 2010] [error] server reached MaxClients setting,
consider raising the MaxClients setting
[Fri Mar 12 15:03:07 2010] [error] WARNING:root:unable to import
Rocket
[Fri Mar 12 15:03:08 2010] [error] WARNING:root:unable to import
Rocket
[Fri Mar 12 15:03:08 2010] [error] WARNING:root:unable to import
Rocket
[Fri Mar 12 15:03:08 2010] [error] WARNING:root:unable to import
Rocket
[Fri Mar 12 15:03:08 2010] [error] WARNING:root:unable to import
Rocket
[Fri Mar 12 15:07:02 2010] [alert] (11)Resource temporarily
unavailable: mod_wsgi (pid=28970): Couldn't create reaper thread in
daemon process 'web2py'.
[Fri Mar 12 15:07:02 2010] [alert] (11)Resource temporarily
unavailable: mod_wsgi (pid=29006): Couldn't create reaper thread in
daemon process 'web2py'.
[Fri Mar 12 15:07:02 2010] [alert] (11)Resource temporarily
unavailable: mod_wsgi (pid=28934): Couldn't create reaper thread in
daemon process 'web2py'.
[Fri Mar 12 15:07:05 2010] [notice] caught SIGTERM, shutting down
[Fri Mar 12 15:07:06 2010] [notice] Apache/2.2.12 (Unix) mod_wsgi/2.5
Python/2.5.4 configured -- resuming normal operations
[Fri Mar 12 15:07:07 2010] [error] server reached MaxClients setting,
consider raising the MaxClients setting
[Fri Mar 12 15:07:52 2010] [error] WARNING:root:unable to import
Rocket
[Fri Mar 12 15:08:01 2010] [error] WARNING:root:unable to import
Rocket
[Fri Mar 12 15:19:49 2010] [error] WARNING:root:unable to import
Rocket
[Fri Mar 12 15:24:23 2010] [error] WARNING:root:unable to import
Rocket
[Fri Mar 12 15:25:22 2010] [error] WARNING:root:unable to import
Rocket
[Fri Mar 12 15:25:25 2010] [error] WARNING:root:unable to import
Rocket
Jose
-tim
<IfModule proxy_module>
SetEnv force-proxy-request-1.0 1
SetEnv proxy-nokeepalive 1
ProxyBadHeader StartBody
ProxyPass / http://localhost:8000/
ProxyPassReverse / http://localhost:8000/
ProxyPassReverseCookieDomain / http://localhost:8000/
ProxyPassReverseCookiePath / http://localhost:8000/
</IfModule>
Most pages work fine. Uploading and downloading large files works
fine. In the admin app, when editing a file with EditArea, the
keepalive request gets sent but it always errors resulting in a
"communication error" in the Last Saved On box. Firebug shows the
connection as "Aborted". The request never gets through Apache on to
Rocket (web2py). This same request works without Apache in the middle.
Can anyone shed some light on this? I don't think this is rocket
related but I need to be sure.
-tim
On 12 mar, 21:48, Timothy Farrell <tfarr...@swgen.com> wrote:
> I'm not sure how you upgraded, but make sure you have a rocket.py in
> your gluon folder.
>
$ hg pull
$ hg update
> OK, in testing mod_proxy I've hit a snag. I'd like for someone else to take a look. I have web2py running on port 8000. Here's the relevant section of my httpd.conf (this is Apache 2.2.14):
>
> <IfModule proxy_module>
> SetEnv force-proxy-request-1.0 1
> SetEnv proxy-nokeepalive 1
> ProxyBadHeader StartBody
> ProxyPass / http://localhost:8000/
> ProxyPassReverse / http://localhost:8000/
> ProxyPassReverseCookieDomain / http://localhost:8000/
> ProxyPassReverseCookiePath / http://localhost:8000/
> </IfModule>
>
> Most pages work fine. Uploading and downloading large files works fine. In the admin app, when editing a file with EditArea, the keepalive request gets sent but it always errors resulting in a "communication error" in the Last Saved On box. Firebug shows the connection as "Aborted". The request never gets through Apache on to Rocket (web2py). This same request works without Apache in the middle. Can anyone shed some light on this? I don't think this is rocket related but I need to be sure.
FWIW, I see the same symptom (the 'communication error' message) with Apache, mod_proxy and web2py+CherryPy.
I don't suppose Firebug shows you the request packet? Maybe a tcpdump at the client (or server?) end would shed some light on what's going on.
Can one of you windows users try
install python 2.5
install setuputils
install mark hammond extensions
easy_install ssl
send me the c:/Python25 folder zipped.
extensions must be built with a compiler than can generate compatible
binaries.
Visual Studio 2003 was not found on this system. If you have Cygwin
installed,
you can try compiling with MingW32, by passing "-c mingw32" to
setup.py.
I have VS2008 installed.
On Mar 13, 8:48 am, Timothy Farrell <tfarr...@swgen.com> wrote:
> I'm not sure how you upgraded, but make sure you have a rocket.py in
> your gluon folder.
What ever they are doing they are trying to do it under Apache/
mod_wsgi, not as a standalone process.
Graham
Exactly - I tried Webfaction's "installer" script today, and asked it
be updated (it pulls from the subversion repository, not the current
hg repo).
I ran the installer anyway, rsync'd the new installation copy into
place, and everything seems to run fine on Webfaction (no error logs).
- Yarko
On Mar 13, 5:28 pm, Yarko Tymciurak <resultsinsoftw...@gmail.com>
wrote:
> On Mar 12, 9:14 pm, Graham Dumpleton <graham.dumple...@gmail.com>
> wrote:
>
> > On Mar 13, 8:48 am, Timothy Farrell <tfarr...@swgen.com> wrote:
>
> > > I'm not sure how you upgraded, but make sure you have a rocket.py in
> > > your gluon folder.
>
> > What ever they are doing they are trying to do it under Apache/
> > mod_wsgi, not as a standalone process.
>
> Exactly - I tried Webfaction's "installer" script today, and asked it
> be updated (it pulls from the subversion repository, not the current
> hg repo).
>
> I ran the installer anyway, rsync'd the new installation copy into
> place, and everything seems to run fine on Webfaction (no error logs).
But this thread is talking about Rocket, a new distinct web server
that web2py is using. If you are using Rocket, you wouldn't be running
Apache/mod_wsgi at the same time. If you are trying to start Rocket
under Apache/mod_wsgi, then don't.
Graham
On Mar 13, 12:28 am, Yarko Tymciurak <resultsinsoftw...@gmail.com>
wrote:
> Yarko, this is bad. Somebody should tell them. ca you do that? If not,
> can you point me to the installer and I will do so?
Perhaps you should turn off access, or at least public access, to the svn repository. There's no good reason anyone should be using it, is there?
> --
> You received this message because you are subscribed to the Google Groups "web2py-users" group.
> To post to this group, send email to web...@googlegroups.com.
> To unsubscribe from this group, send email to web2py+un...@googlegroups.com.
Massimo
> I do not see an option to do that.
You could delete all the files, and leave just a README with a pointer to the hg repository.
The history would still be there, but anyone who tried to fetch the head would just get the README.
On Mar 11, 8:08 am, mdipierro <mdipie...@cs.depaul.edu> wrote:
> We moved from cherrypy wsgiserver toRocket, by Timothy Farrell.
Did it right away; they already updated the installer (see:
http://forum.webfaction.com//viewtopic.php?pid=15213#p15213)
- Yarko
If I do the same command when running the latest hg tip of web2py
(with rocket), the benchmark works.
I'm trying to see if rocket will speed up my website.
> Rocket Benchmarks.pdf
> 10KViewDownload
If your website is slow, Rocket will only speed it up if you have lots concurrent connections.
-tim
--