Hi all! After my performance improvements from last few weeks I've found another place where roundcube can be more responsive. There is (in my opinion) redundant imap connection and redirect when user logs in to roundcube. I think we can get rid of it. Check attached patch. I'm sending it here first, because I'm not sure that changes will not break something (maybe there was some reason to do redirect that i don't know).
On Thu, Nov 27, 2008 at 09:02, A.L.E.C alec@alec.pl wrote:
Hi all! After my performance improvements from last few weeks I've found another place where roundcube can be more responsive. There is (in my opinion) redundant imap connection and redirect when user logs in to roundcube. I think we can get rid of it. Check attached patch. I'm sending it here first, because I'm not sure that changes will not break something (maybe there was some reason to do redirect that i don't know).
The main reason for the redirect is that people don't stay on a "posted" page after the login and that they are able to reload it and to navigate with the browser history. If we don't redirect, the browser will ask me whether to post the form again when I open a message and get back to the list using my browser back button.
Personally I would keep the redirect.
~Thomas _______________________________________________ List info: http://lists.roundcube.net/dev/
Thomas Bruederli wrote:
Personally I would keep the redirect.
~Thomas
+1 for the redirect.
Michael Baierl http://mbaierl.com/blog/
What's this script do? unzip ; touch ; finger ; mount ; gasp ; yes ; umount ; sleep ; Hint for the answer: not everything is computer-oriented. Sometimes you're in a sleeping bag, camping out with your girlfriend.
List info: http://lists.roundcube.net/dev/
On Thu, Nov 27, 2008 at 3:57 PM, Thomas Bruederli roundcube@gmail.com wrote:
On Thu, Nov 27, 2008 at 09:02, A.L.E.C alec@alec.pl wrote:
Hi all! After my performance improvements from last few weeks I've found another place where roundcube can be more responsive. There is (in my opinion) redundant imap connection and redirect when user logs in to roundcube. I think we can get rid of it. Check attached patch. I'm sending it here first, because I'm not sure that changes will not break something (maybe there was some reason to do redirect that i don't know).
The main reason for the redirect is that people don't stay on a "posted" page after the login and that they are able to reload it and to navigate with the browser history. If we don't redirect, the browser will ask me whether to post the form again when I open a message and get back to the list using my browser back button.
Personally I would keep the redirect.
~Thomas
I agree that we should keep this redirect.
@alec If you want to avoid connections at all cost, did you try running an IMAP proxy to see if you can gain some there?
Till _______________________________________________ List info: http://lists.roundcube.net/dev/
till wrote:
I agree that we should keep this redirect.
@alec If you want to avoid connections at all cost, did you try running an IMAP proxy to see if you can gain some there?
Or we could start experimenting with persistent socket connections (pfsockopen) on the RoundCube side.
~Thomas _______________________________________________ List info: http://lists.roundcube.net/dev/
On Sat, Nov 29, 2008 at 1:03 PM, Thomas Bruederli roundcube@gmail.com wrote:
till wrote:
I agree that we should keep this redirect.
@alec If you want to avoid connections at all cost, did you try running an IMAP proxy to see if you can gain some there?
Just found the link: http://www.imapproxy.org/
Or we could start experimenting with persistent socket connections (pfsockopen) on the RoundCube side.
Afaik in regard to connections, nothing persistent ever worked in PHP in a standard LAMP setup. :D
Do you have any ideas off hand? Or (working) examples (from other projects) illustrating persistence?
Till _______________________________________________ List info: http://lists.roundcube.net/dev/
till wrote:
Or we could start experimenting with persistent socket connections (pfsockopen) on the RoundCube side.
Afaik in regard to connections, nothing persistent ever worked in PHP in a standard LAMP setup. :D
That's what I had in mind too, but I thought this maybe improved meanwhile.
Do you have any ideas off hand? Or (working) examples (from other projects) illustrating persistence?
No, I never did anything with persistent connections.
~Thomas _______________________________________________ List info: http://lists.roundcube.net/dev/
till wrote:
On Sat, Nov 29, 2008 at 1:03 PM, Thomas Bruederli roundcube@gmail.com wrote:
till wrote:
I agree that we should keep this redirect.
@alec If you want to avoid connections at all cost, did you try running an IMAP proxy to see if you can gain some there?
Just found the link: http://www.imapproxy.org/
We use imapproxy in production for both HORDE/IMP and RoundCube. We have a proxy processes on each of our webmail servers which have permission to connect to IMAP as any user. Once the webmail client connects to the proxy, the proxy will hold a connection open to the imap server.
-Ziba _______________________________________________ List info: http://lists.roundcube.net/dev/
Ziba Scott wrote:
till wrote:
On Sat, Nov 29, 2008 at 1:03 PM, Thomas Bruederli roundcube@gmail.com wrote:
till wrote:
I agree that we should keep this redirect.
@alec If you want to avoid connections at all cost, did you try running an IMAP proxy to see if you can gain some there?
Just found the link: http://www.imapproxy.org/
We use imapproxy in production for both HORDE/IMP and RoundCube. We have a proxy processes on each of our webmail servers which have permission to connect to IMAP as any user. Once the webmail client connects to the proxy, the proxy will hold a connection open to the imap server.
Have you made any performance measurements? How many users do you have? How many users are simultaneously online? How many connections are between imapproxy and IMAP server at the same time on average and at maximum? -- Dennis _______________________________________________ List info: http://lists.roundcube.net/dev/
Dennis P. Nikolaenko wrote:
Ziba Scott wrote:
till wrote:
On Sat, Nov 29, 2008 at 1:03 PM, Thomas Bruederli roundcube@gmail.com wrote:
till wrote:
I agree that we should keep this redirect.
@alec If you want to avoid connections at all cost, did you try running an IMAP proxy to see if you can gain some there?
Just found the link: http://www.imapproxy.org/
We use imapproxy in production for both HORDE/IMP and RoundCube. We have a proxy processes on each of our webmail servers which have permission to connect to IMAP as any user. Once the webmail client connects to the proxy, the proxy will hold a connection open to the imap server.
Have you made any performance measurements? How many users do you have? How many users are simultaneously online? How many connections are between imapproxy and IMAP server at the same time on average and at maximum? -- Dennis
We haven't done any measurements on roundcube without imapproxy, and I don't have the numbers for concurrent proxy<->imap connections (I'm looking into that).
I do have a few metrics on hand. Here's some stats for an 24 hour period in October:
Total webmail hits: 13,446,857 Total HORDE hits: 8,958,309 Total RoundCube hits: 4,214,495 Unique Users: 32,326 HORDE Users: 27,930 RoundCube Users: 12,397
We're running about 15 webmail machines in round robin dns (which requires a patch to hold outgoing attachments in mysql).
Our peak day for RoundCube had 23,858 unique users and 5,736,260 hits.
Speed has generally been good to acceptable with some instances where cache issues pulled performance down to a painful crawl. (I'm neck deep in a cache rewrite if anyone cares).
Cheers, Ziba
Web/DB Team University of Michigan
List info: http://lists.roundcube.net/dev/
Ziba Scott wrote:
Dennis P. Nikolaenko wrote:
Ziba Scott wrote:
till wrote:
On Sat, Nov 29, 2008 at 1:03 PM, Thomas Bruederli roundcube@gmail.com wrote:
till wrote:
I agree that we should keep this redirect.
@alec If you want to avoid connections at all cost, did you try running an IMAP proxy to see if you can gain some there?
Just found the link: http://www.imapproxy.org/
We use imapproxy in production for both HORDE/IMP and RoundCube. We have a proxy processes on each of our webmail servers which have permission to connect to IMAP as any user. Once the webmail client connects to the proxy, the proxy will hold a connection open to the imap server.
Have you made any performance measurements? How many users do you have? How many users are simultaneously online? How many connections are between imapproxy and IMAP server at the same time on average and at maximum? -- Dennis
We haven't done any measurements on roundcube without imapproxy, and I don't have the numbers for concurrent proxy<->imap connections (I'm looking into that).
I don't have stats over time, but right now I'd roughly estimate 4,700 proxyd processes across 15 web servers. _______________________________________________ List info: http://lists.roundcube.net/dev/
Ziba Scott wrote:
Ziba Scott wrote:
Dennis P. Nikolaenko wrote:
Ziba Scott wrote:
till wrote:
On Sat, Nov 29, 2008 at 1:03 PM, Thomas Bruederli roundcube@gmail.com wrote:
till wrote:
> I agree that we should keep this redirect. > > @alec If you want to avoid connections at all cost, did you try > running an IMAP proxy to see if you can gain some there? >
>
>Just found the link: http://www.imapproxy.org/
We use imapproxy in production for both HORDE/IMP and RoundCube. We have a proxy processes on each of our webmail servers which have permission to connect to IMAP as any user. Once the webmail client connects to the proxy, the proxy will hold a connection open to the imap server.
Have you made any performance measurements? How many users do you have? How many users are simultaneously online? How many connections are between imapproxy and IMAP server at the same time on average and at maximum? -- Dennis
We haven't done any measurements on roundcube without imapproxy, and I don't have the numbers for concurrent proxy<->imap connections (I'm looking into that).
I don't have stats over time, but right now I'd roughly estimate 4,700 proxyd processes across 15 web servers.
Thanks for the stats. Do you have only one IMAP server or several? -- Dennis _______________________________________________ List info: http://lists.roundcube.net/dev/