• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: WebObjects scalability question
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: WebObjects scalability question


  • Subject: Re: WebObjects scalability question
  • From: Pascal Robert <email@hidden>
  • Date: Mon, 15 Nov 2010 14:00:50 -0500



2010/11/15 Lachlan Deck <email@hidden>
On 16/11/2010, at 5:15 AM, Pascal Robert wrote:

> That's one of the top 5 questions people ask, but not much answers. For the EOF cache, you can use the ERJGroupsSynchronizer to synchronize EOs between instances.

Wasn't there a WOWODC topic on this?

On ERJGroups, yes, it's in Project Wonder in Depth, one of the sessions available to buy.
 
> On 16/11/2010, at 3: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.

WOAllowsConcurrentRequestHandling=true + ProjectWOnder EC auto-locking.

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

Some simple starting points to consider:
- Don't fetch every row from the database. Fetch with appropriate filtering :-)
- caching is good
- control cache time appropriately to allow object cache expiry
- use temporary ecs to allow garbage collection

more advanced options available via wonder.

>> 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?

Pascal mentioned ERJGroupsSynchronizer in wonder. There's also ERChangeNotificationJMS and ERCaching in Wonder. I'm not familiar at the moment with which of these are the preferred approach. It may depend on your needs.

>> And is it possible to
>> make your applications multithreaded so page requests can be processed
>> concurrently?

See above.
with regards,
--

Lachlan Deck


 _______________________________________________
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

References: 
 >WebObjects scalability question (From: Greg Lappen <email@hidden>)
 >Re: WebObjects scalability question (From: Lachlan Deck <email@hidden>)

  • Prev by Date: Re: WebObjects scalability question
  • Next by Date: Re: Application monitoring
  • Previous by thread: Re: WebObjects scalability question
  • Next by thread: Re: WebObjects scalability question
  • Index(es):
    • Date
    • Thread