On Nov 15, 2010, at 8:43 AM, Greg Lappen wrote:

> Hi everyone,
> 
> Based on using WO for the last 7 years, I have observed a couple of things 
> that seem to be a performance bottleneck in WebObjects.  I know that Apple 
> uses WebObjects on a large scale for iTunes and ecommerce, so there must be 
> solutions to these.
> 
> #1 - Only one thread can be processing at once.  I seem to recall that this 
> is a limit in EnterpriseObjects but it's been a while.

There are two sides to this.  One, HTTP request processing which is single 
threaded by default.  You can  and should change this to concurrent request 
dispatch.  Two, EOF processing.  EOF is single thread at the point / level 
where changes to the object store are being made.    You can create multiple 
objects stores (at a cost of additional memory) so that there can be multiple 
concurrent threads in EOF.  Wonder has a connection pool that will do this 
automatically, you just pick how many you want.



> #2 - EnterpriseObjects caches every object from the database.

No.  EOF caches a _shared_ snapshot for every active EO object.  If the objects 
are not fetched, it is not cached.  If the object is fetched, when the last EO 
using that snapshot goes out of scope, the snapshot is released.  The onus is 
on you to not carry around references past when you need them.  Using lots of 
peer ECs and get disposed can also help to manage this.  There have ween WOWODC 
sessions on this in the past.


> With that being said, how can you horizontally scale your application layer?  
> If you setup more instances of your app, they each have their own caches, 
> which will be out of sync with each other.  Is there a commonly used 
> framework for doing distributed cache management?  And is it possible to make 
> your applications multithreaded so page requests can be processed 
> concurrently?

I will defer to Mark's answer to this.  There is one, you can use, but you 
probably don't need it.


Chuck

-- 
Chuck Hill             Senior Consultant / VP Development

Practical WebObjects - for developers who want to increase their overall 
knowledge of WebObjects or who are trying to solve specific problems.    
http://www.global-village.net/products/practical_webobjects







Attachment: smime.p7s
Description: S/MIME cryptographic signature

 _______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list      (Webobjects-dev@lists.apple.com)
Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Reply via email to