[#5869] Very high load when 100+ concurrent users
Summary Very high load when 100+ concurrent users
Queue Horde Groupware Webmail Edition
Queue Version 1.0.3
Type Enhancement
State Rejected
Priority 2. Medium
Owners
Requester lumir (dot) jasiok (at) vsb (dot) cz
Created 11/07/2007 (241 days ago)
Due
Updated 11/24/2007 (224 days ago)
Assigned
Resolved 11/24/2007 (224 days ago)
Attachments leftjoin_to_innerselect-hwe-1.0.3.patch Download
Milestone
Patch No

History
11/24/2007 Chuck Hagenbuch State ⇒ Rejected
 
11/09/2007 Chuck Hagenbuch Comment #6
State ⇒ Feedback
Reply to this comment
Well, this particular patch won't break things, but it also won't help 
anyone but postgres users because of the regex match.

That regex is a bit confusing to me - what are you checking for 
exactly? Why not use a subselect if it's supported (assuming we can 
tell - don't worry about that for now) and otherwise the other query? 
And can you please take a look at:

http://cvs.horde.org/framework/DataTree/DataTree/sql.php

to see the latest SQL, and perhaps update your patch for it?

Thanks!
11/07/2007 lumir (dot) jasiok (at) vsb (dot) cz Comment #5 Reply to this comment
*We* support it. And Oracle, MSDE, Sybase, SQL Server, etc. Beside
that we already improved the DataTree perfomance in HEAD in a more
portable way.
OK. And should you at least write on your Performance page tip, that  this little patch improve performance in case that you have SQL which 
have inner SELECT supported? I think, that this could help a lot. We 
had load at server 25+ with 100 concurrent users (because of one wrong 
SQL command!)and now we have load under 0.7 with 150 concurrent users. 
That's a difference.
11/07/2007 Jan Schneider Comment #4 Reply to this comment
*We* support it. And Oracle, MSDE, Sybase, SQL Server, etc. Beside 
that we already improved the DataTree perfomance in HEAD in a more 
portable way.
11/07/2007 lumir (dot) jasiok (at) vsb (dot) cz Comment #3 Reply to this comment
That's nice, but doesn't work for all databases that we support.
With all respect, can I ask you, which database do you mean? Even  SQLite have inner select. MySQL < 4.1 is no longer supported afaik.
11/07/2007 Jan Schneider Comment #2
State ⇒ Rejected
Priority ⇒ 2. Medium
Reply to this comment
That's nice, but doesn't work for all databases that we support.
11/07/2007 lumir (dot) jasiok (at) vsb (dot) cz Comment #1
Priority ⇒ 3. High
Due ⇒ 01/01/2008
Queue ⇒ Horde Groupware Webmail Edition
State ⇒ New
New Attachment: leftjoin_to_innerselect-hwe-1.0.3.patch Download
Type ⇒ Enhancement
Summary ⇒ Very high load when 100+ concurrent users
Reply to this comment
After I migrated from Horde2 to HWE1.0.3, the webmail became deadly 
slow - even on better HW and OS! That's why I did a research of the 
code and optimized one of key SQL queris so that it now works ~40 
times faster with PostgreSQL. It's been tested by thousands of our 
users in production environment of my University for two weeks without 
negative feedback.

The point of the enclosed patch is to replace a LEFT JOIN with inner 
SELECT. I was wondering if you made it that way because of some 
compatibility issues?

I am aware that the patch may not be considered up to your coding 
standards, but for me it works. If possible, please merge the code as 
soon as possible so that next security patches won't break the hack 
for me :-)

Sincerely,

Lumir Jasiok, Ivan Dolezal