[FX.php List] Ajax & server load?
Joel Shapiro
jsfmp at earthlink.net
Fri Oct 12 16:56:01 MDT 2007
Hi Steve
Your long winded reply is indeed much appreciated ;)
After reading it, I did test the load-time difference when bringing
in the additional data right from the start, and surprisingly it was
only .3 - .4 seconds slower to load the page (less than half a second
slower)!
I recognize that in production these times will be different, but it
sure seems to point to not much more overhead -- and just once per
session -- and then I'll be able to enjoy the luxury of instant local
tooltips.
I did like the idea of everything being "Web 2.0", but I think I'll
be happier with better performance while running in "Web 1.5" ;)
BTW- Yes, I'll be putting the tooltip content into hidden divs. I've
seen some JavaScript tooltips that do just that... I just need to
find them again after all my efforts on those Ajax tooltips :-P
Thanks,
-Joel
On Oct 12, 2007, at 3:05 PM, Steve Winter wrote:
> Hi Joel,
>
> Strangely enough this idea that you came up with as an 'after
> thought' was
> what I was thinking as I was reading through your original post... ;-)
>
> I have no solid facts to base it on, but my gut feeling is that with
> potentially so many links that can gain mouse focus, that the
> number of
> calls to the db is going to make the tool tips load quite slowly
> once you
> start to get several users on at once...
>
> Like you, I really like the Ajax idea of not having to have a bunch
> of radio
> buttons and a submit, but that it all works through links via Ajax...
>
> Perhaps as a way forward the thing to do is build the 'ideal'
> situation that
> you described in the original post, with the Ajax calls for each mouse
> focus, and see how it goes... if it ends up being too slow, with so
> many db
> hits, then 'fall back' to the position that you've outlined here,
> potentially putting in a 'page loading' icon if it gets a bit slow,
> and load
> your tool tips into either a Javascript Array, or probably more
> sensibly a
> series of hidden divs, which you then position as required with
> JavaScript
> on mouse focus...
>
> I'd love to hear that you built the 'ideal' solution, and that it
> worked,
> but as a general rule I try to reduce the number of db calls as
> much as
> practicable... This inclination is based on a system I built about
> a year
> ago, in which I started out with a highly distributed series of
> tables, with
> very few relationships in FM, and was essentially building them
> through
> multiple php calls. What I found was that with each page load
> making 5 - 8
> db calls, and 10 simultaneous users (this was an intensive education
> programme using FM as the back end), changing pages as often as
> once every 2
> - 3 seconds, things began to slow down dramatically... I did some
> restructuring and went back to using portals for related data,
> dropping the
> number of hits per page to 2 - 3 and things improved significantly...
>
> I guess my concern in your situation would be that if you had half
> a dozen
> users who were running their mouse down a column in your table,
> which passed
> over 10 items, each of which initiated a db call, almost
> simultaneously (and
> as far as I know with Ajax once a call is initiated you can't stop
> it, so
> even a brief mouse-pass over one of the links will make the db hit,
> even if
> the data is never used) then the responsiveness of the system would be
> lost...
>
> I guess the only way to know for sure is to give it a try, and see
> what
> happens...
>
> A very long winded way to not really say very much, but perhaps
> helpful...
>
> Cheers
> Steve
>
> -----Original Message-----
> From: fx.php_list-bounces at mail.iviking.org
> [mailto:fx.php_list-bounces at mail.iviking.org] On Behalf Of Joel
> Shapiro
> Sent: Friday, 12 October 2007 7:40 p.m.
> To: FX.php Discussion List
> Subject: Re: [FX.php List] Ajax & server load?
>
> Hmm... One other option but I'd have to look into load times... I
> could possibly bring in all detail data on my initial page load so
> that tooltips display already loaded content instead of needing to
> rehit the server for each mouseOver. There's quite a bit of text in
> the details, though, which I thought would significantly slow down
> the page load.
>
> I'll check this, but would still love your feedback.
>
> Thanks,
> -Joel
>
>
> On Oct 12, 2007, at 11:34 AM, Joel Shapiro wrote:
>
>> Hi all
>>
>> I'd love your feedback on how my intended use of Ajax might affect
>> server load & performance:
>>
>> - A <table> with 24 cells (4x6)
>> - Each cell has 2-15 links (120-150 total) that onMouseOver call
>> to the DB for record details (as a tooltip)
>> - Each link when clicked edits the DB and reloads the respective
>> cell via Ajax
>>
>> Basically, this is for users to select one option in each cell.
>> Mousing over any option shows details. Clicking an option edits a
>> record in FM via Ajax. I like the idea that changes are instant
>> and the user doesn't need to click a Submit button for the whole
>> page. And I like that this way I can do various checks on each
>> selection before editing the record, e.g. to make sure that option
>> hasn't already been selected in another cell.
>>
>> However, I'm wondering if all these small hits to the DB will be a
>> problem when more than a few users are using the site at once.
>>
>> - Probably not more than 30 or so users at a time, but in theory
>> could be more (but not 100s)
>> - 1-machine configuration (FMSA(8) & WPE), running on a new Mac
>> Mini (not sure of the RAM)
>>
>>
>> Do you think this setup will be too slow in production?
>>
>> If so, would it help much to move the record details that display
>> on mouseOver into static content, since they won't be changing
>> often in the DB? Or is a hit to the server pretty much the same
>> whether to the DB or to static content? (& what would be the best
>> way to make static content? Bring those 100+ records into one
>> large php array and grab each via a GET? Create 100+ php pages on
>> the server? Other...?)
>>
>> Or do you think a Web 1.0 site with radio buttons and a Submit
>> Whole Page button is preferable? (yuck)
>>
>>
>> All thoughts much appreciated.
>>
>> TIA,
>> -Joel
>> _______________________________________________
>> FX.php_List mailing list
>> FX.php_List at mail.iviking.org
>> http://www.iviking.org/mailman/listinfo/fx.php_list
>
> _______________________________________________
> FX.php_List mailing list
> FX.php_List at mail.iviking.org
> http://www.iviking.org/mailman/listinfo/fx.php_list
>
> No virus found in this incoming message.
> Checked by AVG Free Edition.
> Version: 7.5.488 / Virus Database: 269.14.8/1064 - Release Date:
> 11/10/2007
> 3:09 p.m.
>
>
> No virus found in this outgoing message.
> Checked by AVG Free Edition.
> Version: 7.5.488 / Virus Database: 269.14.8/1064 - Release Date:
> 11/10/2007
> 3:09 p.m.
>
>
>
> _______________________________________________
> FX.php_List mailing list
> FX.php_List at mail.iviking.org
> http://www.iviking.org/mailman/listinfo/fx.php_list
More information about the FX.php_List
mailing list