Beefy Boxes and Bandwidth Generously Provided by pair Networks
more useful options
 
PerlMonks  

Re(8): "The First Rule of Distributed Objects is..."

by perrin (Chancellor)
on Oct 23, 2003 at 20:18 UTC ( #301696=note: print w/ replies, xml ) Need Help??


in reply to Re: Re: Re: Re: Re: Re: Re: "The First Rule of Distributed Objects is..."
in thread Multi tiered web applications in Perl

If you can optimize the heavy parts, everything gets quicker. Same reason you use profilers.

I think that's actually a different deal. Optimizing and profiling are about improving the efficiency of the most important pieces of code, reducing the amount of resources needed. Here we're just talking about allocating resources.

Point is, by keeping the heavy parts completely isolated from the quicker parts and paying attn to those heavy parts, things will always run fast. If those heavy parts get bogged down again, the quick parts stay quick.

I agree, if you can't afford enough resources to make your whole application run well, you can sacrifice part of its performance by under-allocating resources to it in order to keep another part that you consider more important running quickly. This is a popular idea on big iron systems where you can do things like pin a certain number of CPUs to one job. It doesn't require distributed objects though.

Totally agree on you, but putting some stuff on static pages isn't always an option. And load balancers do solve part of the problem, but not the total problem.

I was actually talking about dynamic pages there, not static ones, like you were in your login page and preferences page example. Good load-balancers do solve the problem of isolating specific URLs to run on specific groups of machines, and I wouldn't consider load-balancers or mod_proxy any harder to deal with than J2EE deployment and configuration stuff.

prolly something you wouldn't do in mod_perl but in more business directed languages, like java or even cobol :)

Hmmm... Java was created for programming toasters and refrigerators. It's a good general-purpose language, but the whole business slant is just marketing.


Comment on Re(8): "The First Rule of Distributed Objects is..."
Re: Re(8): "The First Rule of Distributed Objects is..."
by exussum0 (Vicar) on Oct 28, 2003 at 02:17 UTC
    feh, i thought i replied once. Went back, and here we are :)
    I think that's actually a different deal. Optimizing and profiling are about improving the efficiency of the most important pieces of code, reducing the amount of resources needed. Here we're just talking about allocating resources.
    Ah, but allocation of resources in terms of this isn't he simple, "I need 5mb more ram" ordeal. It's about CPU resources. It's about routing requests to more capable systems.
    Good load-balancers do solve the problem of isolating specific URLs to run on specific groups of machines, and I wouldn't consider load-balancers or mod_proxy any harder to deal with than J2EE deployment and configuration stuff.
    Absolutely right, but don't think of it in terms of stateless page requests either. Think about a cohesive application, like AOL. Client makes lots of requests, and you get certain data. So you'd prolly load balance to a certain machine. But that's an arguement for or against stateless connections.

    Truth of the matter is, segmentation on a load balancer may work really well, but a config option which tells an aplication, "the preference changing utility pool is there" and "the forum service pool is here", is a one time persistant thing. With url evaluation, the url has to re-evaluate every time and redirect your traffic. It has a less .. general feeling for me. If it was done on the back end to a connected pool, url gets evaluated once, a message is sent to a ready mady pool, waiting for requests.

    But you are right on with J2EE and mod_proxy in ease of configuration. It's the performance and ability to be quite modular with things without frontal impact. What if you had a front page that hits many resources. You can't split that up w/ mod proxy easily, but your calls can hit multiple pools. Also, it's not about J2EE alone... it's about RPC, and SOAP, and XML-RPC.. it's about distributed objects :)

    Hmmm... Java was created for programming toasters and refrigerators. It's a good general-purpose language, but the whole business slant is just marketing.
    Maybe, maybe not. Let's take ASM. It's a great system language. Same with C. The problem with C and ASM is, that you can't create stuff for easy reuse. Same with Fortran. Great for math, shitty for system programming. Java.. it's really shitty at system programming.. but this isn't an argument in elimination of types. Java has a good way of describing by architecting, business oriented tasks and acting upon that architecture. It's strong on patterns and reuse.
    Play that funky music white boy..
      What if you had a front page that hits many resources. You can't split that up w/ mod proxy easily, but your calls can hit multiple pools. Also, it's not about J2EE alone... it's about RPC, and SOAP, and XML-RPC.. it's about distributed objects :)

      I think this is just our fundamental disagreement: I believe that splitting up parts of a single request will work against you in terms of performance and scalability. The only good reason I can see to segment things is in order to isolate bad parts that you intend to leave under-powered and slow. Splitting up a single request doesn't work, since all the parts have to finish before the response can be sent, i.e. the response can only be as fast as the slowest part.

      As far as SOAP/XML-RPC is concerned, they can be useful for interop with systems in other languages but they are not an efficient way to distribute load within a single system. They have serious overhead, with all the extra XML creating/parsing and network traffic.

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://301696]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others romping around the Monastery: (7)
As of 2014-08-20 07:06 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The best computer themed movie is:











    Results (106 votes), past polls