Re: WebObjects scalability question
Re: WebObjects scalability question
- Subject: Re: WebObjects scalability question
- From: Chuck Hill <email@hidden>
- Date: Mon, 15 Nov 2010 12:17:21 -0800
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 (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden