~Dave
On 3/6/06, Brad Haas <
[EMAIL PROTECTED]> wrote:
Gary,
Have you tested Reactor with and without Mach-II? It will be
interesting to see if there is some problem when used in conjunction
with that framework.
I'd also try the latest build. I wonder how much of a performance
increase you'll get since the database will not be inspected on every
call.
Brad
-----Original Message-----
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]] On Behalf Of Gary
Herman
Sent: Monday, March 06, 2006 2:50 AM
To: [email protected]
Subject: RE: [Reactor For CF] Performance of Reactor
Doug,
First of all, let me just say that Reactor is an amazing framework,
you've
done an amazing job. The only reason I posted an issue about
performance is
due to our salivating over the ability to use this framework right now.
We're right in the middle of a fairly complex application for a large
client
- of course, we are very interested in making this application generic
enough to use it as a platform for our next gig. Reactor makes a lot of
sense for us here, but performance is a huge issue as well...
That being said, I really appreciate your effort in taking a closer look
at
the performance issues we noticed - I'm sure you have a full plate of
other
things that need to be done as well! We have run the framework locally
and
tested it against a non-reactor version of our sample app.
Unfortunately,
we noticed a pretty large performance hit when using Reactor. The
strange
thing is that we are not doing much here, just pulling a small amount of
data from MSSQL and posting it to a page. Some of the data is linked to
other data, which we tested as well. I was surprised to see the hit
(about
3.5 seconds using Reactor as compared to 65 MS just using Mach-II).
We're a
little crunched for time, therefore we have not had the ability to
analyze
Reactor for bottlenecks - nor have we tested the new version you
committed
this evening. At some point we should post the code to the list or
somewhere else and let the list-subscribers have a look at it. It's
very
possible that we are completely missing something on our end! Has
anyone
else even noticed performance issues with Reactor?
Once again, I don't mean to ding you for the performance issues we are
seeing... You've mentioned several times that the code is still in
Alpha.
Gary
-----Original Message-----
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]] On Behalf Of Doug
Hughes
Sent: Sunday, March 05, 2006 7:01 PM
To: [email protected]
Subject: RE: [Reactor For CF] Performance of Reactor
Gary,
I've been fretting since you sent your initial message about the
perceived
speed of doughughes.net . You essentially said that, because the
ColdFusion
category came up slow that the Reactor framework must be slow.
On the surface this makes sense. There's no secret that I use
ReactorBlog.
So, it seems, if you want to get an idea of how fast reactor is then you
go
to a site you know runs Reactor and see how fast it feels.
I spent some time today testing parts of the framework to find out where
the
bottlenecks are. (I found some interesting ones - more on this later.)
After I fixed a few problems I went back to a local copy of ReactorBlog
and
tested it, expecting to find it feeling much faster. Oddly, it didn't!
Why ever not?!
To track this down I turned on execution time reporting and was
surprised to
find one method being the problem getMatching() on the entryGatway. All
other steps were at or less than 16ms. What was the problem with
getMatching(). I opened it up and was amused to find that it's a
custom,
handwritten query!
That's right; the slowness isn't even reactor's fault. The particular
query
does some date parsing (for grouping purposes) and returns a reasonably
large amount of data from MSSQL. The resulting page is also nearly 90kb
with images, css or scripts.
Clearly the bottleneck is either in MSSQL, how the query was written or
the
transport between mssql and cf.
The moral of the story?
Don't judge a framework's speed based on an app on a server that you
don't
have access to. Run the code locally, break it down into little pieces
and
test atomic parts of it.
Oh - one other thing: I found a really boneheaded mistake I made in the
objectFactory. For quite a while now Reactor has been inspecting the
database no matter what mode it was in. This means that all production
apps
running Reactor have really been running in development mode. Doh! I
fixed
that and committed. The framework seems much faster now.
Doug
-----Original Message-----
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]] On Behalf Of Gary
Herman
Sent: Thursday, March 02, 2006 3:49 PM
To: [email protected]
Subject: RE: [Reactor For CF] Performance of Reactor
Doug,
Just checked your site again, looks like the server reboot did speed
things
up a little bit - but I'm still seeing a slow down in the larger
categories.
I realize the code has not been tweaked for performance just yet, but I
wanted to bring this up now since the performance lag we are seeing is
quite
large. Overhead is to be expected here - hopefully, this will decrease
when
you get closer to a final release!
Thanks,
Gary
-----Original Message-----
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]] On Behalf Of Doug
Hughes
Sent: Thursday, March 02, 2006 5:19 AM
To: [email protected]
Subject: RE: [Reactor For CF] Performance of Reactor
My server is having disk errors. It just took 20 minutes to reboot it.
I'm
pretty sure this isn't a reactor issue.
Doug
-----Original Message-----
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]] On Behalf Of Gary
Herman
Sent: Thursday, March 02, 2006 2:26 AM
To: [email protected]
Subject: RE: [Reactor For CF] Performance of Reactor
Hmmm, I just went to doughughes.net and clicked on the "Cold Fusion"
category - it took quite a long time to load, 40 seconds. To be
scientific,
I tried this from 3 different computers running with 3 different DSL
providers and the results were the same. I tried other categories as
well;
the small ones load at decent speeds, but the larger catgeories take a
*long* time to load. Am I missing something here?
Gary
-----Original Message-----
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] ] On Behalf Of Doug
Hughes
Sent: Monday, February 27, 2006 2:12 PM
To: [email protected]
Subject: RE: [Reactor For CF] Performance of Reactor
I'm using reactor on a number of sites and I'm not seeing speed
problems.
(See doughughes.net). I know others are seeing acceptable speed too.
If you have reactor in the application scope are you sure it's actually
running in production mode? If you had it in development mode and put
it in
the application scope, it wouldn't pick up changes to production mode
unless
you reloaded the application.
You'll also see a nice speedup with trusted caches turned on. I'm not
using
them on doughughes.net.
If you could dig into the reactor code and determine where the speed
problems are, it would be most helpful.
Doug
-----Original Message-----
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]] On Behalf Of Cody
Caughlan
Sent: Monday, February 27, 2006 3:32 PM
To: [email protected]
Subject: [Reactor For CF] Performance of Reactor
I am using the latest version of Reactor. I have 5 tables (User,
Address,
Company, Email and Phone) with many-to-many links between User and all
of
the others. For getting my feet wet purposes I have built a basic no
frills
page that takes the ID of a given User and display all of their profile
information (their address, the company they work for, the company's
address, etc).
Using the GetTickCount() function and with Reactor in "production" mode
and
Debugging turned off in CF I the page takes on average 1.5 seconds to
execute. Eventually we will be integrating Reactor with MachII, but this
basic page is just that, a straight no framework page. I am concerned
that
with adding the MachII overheard the combo of MachII and Reactor might
be a
little overboard. For completeness sake I put the Reactor factory in
Application scope with its init() so granted this wouldnt be done
per-request, and that did seem to save a little bit of time.
My question overall is is, how performant is Reactor and are people
seeing
acceptable production ready speeds with it? Are there any other tricks
that
can be used to speed up Reactor? I know that it uses lazy-loading and I
gave
it a couple of requests so that all Record / Gateways / Iterators
objects
were created, but still couldnt get it less than 1.5 seconds.
We have this running on 2 servers (1 for IIS and 1 for MSSQL, both are
very
beefy, so its not a hardware issue). Previously when we were running
MX6.1,
basic MachII apps were running slowly. As soon as we upgraded to MX7,
those
same apps just FLEW (to us it seemed to be a night and day difference).
I
dont know what relevance this has to Reactor, but just our experiences.
Thanks
/Cody
-- Reactor for ColdFusion Mailing List -- [email protected]
-- Archives at http://www.mail-archive.com/reactor%40doughughes.net/
-- Reactor for ColdFusion Mailing List -- [email protected]
-- Archives at http://www.mail-archive.com/reactor%40doughughes.net/
-- Reactor for ColdFusion Mailing List -- [email protected]
-- Archives at http://www.mail-archive.com/reactor%40doughughes.net/
-- Reactor for ColdFusion Mailing List -- [email protected]
-- Archives at http://www.mail-archive.com/reactor%40doughughes.net/
-- Reactor for ColdFusion Mailing List -- [email protected]
-- Archives at http://www.mail-archive.com/reactor%40doughughes.net/
-- Reactor for ColdFusion Mailing List -- [email protected]
-- Archives at http://www.mail-archive.com/reactor%40doughughes.net/
-- Reactor for ColdFusion Mailing List -- [email protected]
-- Archives at http://www.mail-archive.com/reactor%40doughughes.net/
-- Reactor for ColdFusion Mailing List -- [email protected]
-- Archives at http://www.mail-archive.com/reactor%40doughughes.net/
--
~Dave Shuck
[EMAIL PROTECTED]
www.daveshuck.com
www.worldwildweb.biz -- Reactor for ColdFusion Mailing List -- [email protected] -- Archives at http://www.mail-archive.com/reactor%40doughughes.net/

