Ok, but to be clear I really was only discussing the technical aspect. I'm
not sure what all the other observations brought to that part of the
discussion. My bottom line point was not to argue against your use of client
variables. I suggested a reason why one may choose to do it and yet treat
them like session variables (with timeouts in hours/minutes rather than
months/weeks), and that was if you can't rely on sessions because they're
lost over restarts.  I just wanted to suggest that there was another
approach (in the idea of J2EE sessions being persisted by the J2EE server,
if offered as an option.) I should also have pointed out that multiple
instances with replication (in CF Enterprise) would also afford the kind of
protection of sessions over restarts, but many have a hard time getting that
working acceptably, so it's not the first thought I'd have for this problem
I was suggesting. But if you have still other reasons to favor client vars
over sessions, no worries. But yes, I do hope the info on sessions/bots may
help. I'll say again, though, that things in BD may be different. Can't
recall if they have the global client variables, lastvisit and hitcount.

 

/charlie

 

From: ad...@acfug.org [mailto:ad...@acfug.org] On Behalf Of Derrick Peavy
Sent: Monday, January 25, 2010 10:18 PM
To: discussion@acfug.org
Subject: Re: [ACFUG Discuss] Ideal memory & Configuration for CF Production
server?

 

Charlie:

 

Good point about possibly treating client vars like session. I'd like to
elaborate.

 

I have 4 client vars in my app. That's all. Three are integers, and the
fourth is a single char. Not sure that matters in any case.  Everything else
is session aside from the static application vars that most people use.

 

In general I think it's important to create apps that are specific to the
business, the client, and the users who use them. Before you write that off
as a "yeah, don't we all," what I want to emphasize in that, is the "user"
part.

 

With my main application, the traffic pattern of the user is such that they
are not sticking around. I run a classifieds site and it's a very specific
target. To compare, CraigsList gets about 20 pages views per user according
to (cough) Alexa. Oodle gets 5-6. It's hard to compare - impossible - to
these sites. But as a broad metric, having 2-3 pages per user visit is not
bad. The bounce rate is low and basically, that's the nature of classifieds.


 

That being said, if my average user is a touch and go user, and they are
only looking at 2-3 pages, and their repeat frequency is going to be spread
over several days possibly, then there is no value in retaining the client
data. And when that client data is so sparse anyway (whole other topic),
then it's even less important. On top of that, the client data that is used
is non identifiable for the most part and is never required to be known by
the user. So, when the session expires, it's no problem if the client data
has been removed too.

 

Again, this is less about CF or technical arguments than it is about the
user pattern and the business needs. Additionally, while I do track usage
internally (two systems), there is also Google Analytics which is going to
track repeat users, etc., So again, the client data is of no value. If the
user has been inactive for 6 hours (delete time), the client data is of no
use no matter what. 

 

Now, the issue that prompted this "purging" on a regular basis is the issue
of spiders and bots and crawlers (oh my). So, I noticed that you posted a
link for that and I will be checking that out very carefully. 

 

Perhaps I can change my tactics. 


_____________________

Derrick Peavy

derr...@derrickpeavy.com

404-786-5036

 

"Innovation distinguishes between a leader and a follower." -Steve Jobs

 

"A good deal that used to be a great deal, is not nearly as good as an awful
deal that was once a horrible deal." - Dan Gilbert, http://bit.ly/8gUruX

_____________________





 

On Jan 25, 2010, at 4:01 PM, Charlie Arehart wrote:





Derrick, I'll offer a couple of follow-ups to your points to help others
with the discussion we're now having. 

First, you mention using BD, and I'll note that the problem that I bet was
hitting Ajas is not one that would happen on BD (the "global client variable
updates" that I discuss in the blog and recording I point to). So your
experience of the impact of client vars might be quite different from what
CFers would experience.

Second, you mention expiring sessions in 20-30 minutes. Whether on CF or BD
(or Railo), there is no connection between sessions and client variables.
The former are stored in memory and have timeouts in minutes or hours
typically, while client variables are stored in either a db, the registry,
or a cookie and have timeouts in days (the default being 90).

But your tool that purges those records that are more than even 6 hours old
suggests that you're using client variables like session variables. Maybe
you liked that they were stored in DB, rather than memory, which means they
live over restarts. I will note that I indicated that session variables are
stored in memory "typically". If one runs CF (or BD or Railo) as a J2EE web
app on  a J2EE server and setting CF to use J2EE sessions, some J2EE servers
DO let you indicate that you want sessions to be stored in other than
memory. Some support DBs, some write to files, etc. Not saying all that to
suggest you should change your approach, just that if one DOES want to get
the goal of persisted sessions, there is another approach available to some.

 

/charlie

 

From: ad...@acfug.org [mailto:ad...@acfug.org] On Behalf Of Derrick Peavy
Sent: Sunday, January 24, 2010 10:40 PM
To: discussion@acfug.org
Subject: Re: [ACFUG Discuss] Ideal memory & Configuration for CF Production
server?

 

Ajas:

 

As always, I caveat my reply with "I am not the usual developer."

 

First, I only have one database for client storage for all of the CF apps on
the server. Since, there are only a few on the server, and only 1 is NOT
-MY- app, it's not a problem.

 

So, that solves a large part of the problem. At least with Blue Dragon, the
table structure includes a field for the app name. So, I can't see a
reasonable possibility of any problems.

 

Second, I expire sessions within 20 or 30 minutes. So, I really don't need
the non identifiable old records laying around for very long. 

 

In addition to the admin settings of expire in X days, I run a script four
times a day which does a very quick, simple, clean thing - delete records
from the database that are more than 6 hours old. This keeps my database
used for client storage down to 40-100 MB in size depending on the day and
the traffic load. 


_____________________

Derrick Peavy

derr...@derrickpeavy.com

404-786-5036

 

"Innovation distinguishes between a leader and a follower." -Steve Jobs

 

"A good deal that used to be a great deal, is not nearly as good as an awful
deal that was once a horrible deal." - Dan Gilbert, http://bit.ly/8gUruX

_____________________






 

On Jan 24, 2010, at 10:15 PM, Ajas Mohammed wrote:






Thanks Charlie and others as well.

Charlie, your long emails are always helpful. Thanks for sharing. :-)

I was looking at client storage tables in the 15 databases we have and the
record count is about 388466 in both CDATA and CGLOBAL. And this count is
pretty much same in *Every* 15 of the databases CDATA, CGLOBAL. I am trying
to find why we have so many records. If the flush is set for 1 hr 7 minutes
by default, then I wonder why we have so many records. I believe we have
client variables to expire if not visited in 2 days or so.

Any thoughts about high number of records in CDATA & CGLOBAL. Can people
share their numbers i.e. record count etc

Thanks,

<Ajas Mohammed />
http://ajashadi.blogspot.com
We cannot become what we need to be, remaining what we are.
No matter what, find a way. Because thats what winners do.
You can't improve what you don't measure.
Quality is never an accident; it is always the result of high intention,
sincere effort, intelligent direction and skillful execution; it represents
the wise choice of many alternatives.




On Fri, Jan 15, 2010 at 7:31 PM, Charlie Arehart <char...@carehart.org>
wrote:

Thanks, and to your next observation, I'll note that I do list resources
listing sites using CF in my CF411:

 

http://www.carehart.org/cf411/#cfpowered

 

/charlie

 

From: ad...@acfug.org [mailto:ad...@acfug.org] On Behalf Of Derrick Peavy
Sent: Thursday, January 14, 2010 8:31 PM


To: discussion@acfug.org
Subject: Re: [ACFUG Discuss] Ideal memory & Configuration for CF Production
server?

 

 

I for one appreciate your efforts!


OT - was asked yesterday during a bus dev call "what is your site built
in/with" that old saw. When I said cold fusion they chuckled. This from a 26
year old. No matter. He asked what other sites are built with CF.  That old
saw. Used to be a list but I am not sure it's kept up anymore.

 

The one that came to mind was Bank of America, but there are other big ones.


 

_____________________

Derrick Peavy

 


-------------------------------------------------------------

To unsubscribe from this list, manage your profile @ 
http://www.acfug.org?fa=login.edituserform 

For more info, see http://www.acfug.org/mailinglists 
Archive @ http://www.mail-archive.com/discussion%40acfug.org/ 
List hosted by FusionLink <http://www.fusionlink.com>  
-------------------------------------------------------------

 

 


------------------------------------------------------------- 
To unsubscribe from this list, manage your profile @ 
http://www.acfug.org?fa=login.edituserform 

For more info, see http://www.acfug.org/mailinglists 
Archive @ http://www.mail-archive.com/discussion%40acfug.org/ 
List hosted by FusionLink <http://www.fusionlink.com>  
-------------------------------------------------------------

 




-------------------------------------------------------------
To unsubscribe from this list, manage your profile @ 
http://www.acfug.org?fa=login.edituserform

For more info, see http://www.acfug.org/mailinglists
Archive @ http://www.mail-archive.com/discussion%40acfug.org/
List hosted by http://www.fusionlink.com
-------------------------------------------------------------

Reply via email to