Hi,
Thanks
Barry
--
You received this message because you are subscribed to the Google Groups
"cfaussie" group.
To post to this group, send email to cfau...@googlegroups.com.
To unsubscribe from this group, send email to
cfaussie+u...@googlegroups.com.
For more options, visit this group at
http://groups.google.com/group/cfaussie?hl=en.
=======
Email scanned by PC Tools - No viruses or spyware found.
(Email Guard: 7.0.0.21, Virus/Spyware Database: 6.16350)
http://www.pctools.com/
=======
=======
Email scanned by PC Tools - No viruses or spyware found.
(Email Guard: 7.0.0.21, Virus/Spyware Database: 6.16350)
http://www.pctools.com/
=======
Another thing I'd look into before moving it away from VMWare though would be the VMWare setup itself, e.g. assigned memory, giving it more CPU power etc. How's your disk IO looking on that VM?
Cheers
Kai
--
Kai Koenig - Ventego Creative Ltd
ph: +64 4 476 6781 - mob: +64 21 928 365 / +61 435 263 414
web: http://www.ventego-creative.co.nz
blog: http://www.bloginblack.de
twitter: http://www.twitter.com/agentK
!!! New AU mobile number !!!
--
We use SQL2008 on win2008 R2 on VMs with no issues at all. 500 or 600
transactions per sec on a single server.
Definitely set the vCPU count to 2 or more and scads of RAM, ie dedicate
a third or a half of your host to the DB server. Our rule-of-thumb is 3
big-end DB servers per host or 20 CF9 servers :-)
These are dual quad core hosts so give your SQL server the equivalent of
two or more cores but the critical thing is 2 or more vCPUs so SQL can
split its threads more efficiently as if it thinks it has only one CPU
it changes mode internally.
Check your writing rate, if there is a lot then the temp db and the
transaction log are getting written to a _lot_, we see several MBps on
peaks and then things like your network speed into the SAN
infrastructure start affecting things.
--
Yours,
Kym Kovan
mbcomms.net.au
- the type doesn't reflect on the quality. E.g. a type 4 driver is not better than a type3 driver and a type5 driver not necessary better than a type4 driver. They just do things in different ways. I just want to avoid that the type is seen as a quality indicator.
- there is no such thing as jdbc type5 drivers. The product Carl is pointing to is nothing but a vendor-specific implementation of a type4-driver with a few new and different features that Data Direct have decided to give as much marketing spin as they can and call it "type5".
- the features in that "type5" driver that appear to make them be miles ahead are mostly irrelevant from a CF point of view imho. For Java developers - looks certainly interesting. But a lot of the stuff this driver promises to fix is dealt with within CF anyway so that I think it won't be relevant for CF devs.
- I haven't looked at the price tag, but I assume the DD drivers don't come free of charge.
Happy to be proven wrong in all of my points though :-)
Cheers
Kai
> --
> You received this message because you are subscribed to the Google Groups "cfaussie" group.
> To post to this group, send email to cfau...@googlegroups.com.
> To unsubscribe from this group, send email to cfaussie+u...@googlegroups.com.
> For more options, visit this group at http://groups.google.com/group/cfaussie?hl=en.
>
Are we drifting off-track? The OP complaint was 100% CPU, network
performance has only a minor effect here.
I'd say the two "we don't have a problem" replies out vote the single
"VMs are no good" reply so try the "more CPU" route first.
If the host is grunty then build a new VM with more than a single vCPU
and install SQL2008 on that and see what you get. (It depends on your OS
licensing but we find it convenient to keep 1, 2, and 4 vCPU templates
sitting there so you can get a new machine up in a few minutes then
throw your applications on.) If the host is not very grunty then assess
what you have got, just the one VM maybe?, etc.
--
Barry, here are some other thoughts I’ve not yet seen mentioned. (Like you, I am behind on this thread due to vacation, though in my case it was my time there in OZ—Melbourne, specifically—the past two weeks. Great time. Thanks to all involved and those who I met while there.)
As for your problems, are you saying that SQL Server itself is running at 100%? Or is that the whole box? If the latter, there could of course be many influences. I’ll assume that this SQL Server implementation is on a box separate from CF, right? Is anything else running on the SQL Server box? Specifically, any antivirus tool? I’ve helped solve problems with people who had an a/v tool set to check every file when it was modified—and of course, a DB engine would be modifying its files extremely frequently—which was using a lot of resources on the SQL Server box.
But assuming that it’s SQL Server itself that’s running 100%, the next question would be: do you see anything in the Windows Event logs?
Also, when it happens, have you looked at any tools on SQL Server to see what queries are running and whether any one (or some) are causing a lot of the high CPU use? It could be, though it may not be.
And you may be wondering if something in CF is influencing things. Do you have anything that’s monitoring the SQL being sent from CF to the DB, to see if there’s a connection, whether in terms of specific high-CPU queries, or perhaps just a high volume of queries? You could monitor such queries either from the SQL Server side (such as with SQL Server Profiler or other tools), or you could monitor from the CF side (with tools like the CF Server Monitor, FusionReactor, or SeeFusion). It could be very insightful to discover if something is contributing a high load of queries.
It could be perhaps spiders or bots, or a hack attack, or perhaps just a coding mistake. It could also be a configuration issue, such as client variables being enabled and set to write to a DB, with the “disable global client variable updates” option leading to queries on every page request and inserts/updates on many of them. Or it could be the new “validation query” feature added in CF 8 (I believe) which is defined in the CF DSN “advanced settings” and executes the specified query when a connection in the connection pool is initialized/reused.
Finally, you mention running CF 9 with no updater. If none of the above helps, it would seem reasonable to read about and perhaps try implementing the cumulative hotfix, or the updater (and its CHF). Similarly, you may want to check if perhaps there are SQL Server updates you could/should apply which could address such a “100% cpu issue”.
Hope that helps.
/charlie
--
Barry, I would just wonder if perhaps you’re suffering the “death of a thousand cuts”, where it’s not that you have any (or many) long-running (or even moderately long-running queries), but instead maybe lots (and lots) of small-running requests. Just something to consider.
And as for using FR, I would recommend that you do NOT limit what is logged (and be aware that there is a separate setting on the JDBC settings page for first what is shown in the interface, and what is logged). And of course it’s critical that you wrap *all* datasources being used—not just those that you think “might be a problem”, as there could be requests coming in (again, perhaps from bots) going against a DB (and app) you think is otherwise insignificant. Finally, you should be sure to wrap (with FR) especially any DSN set to be a client variable datasource. Again, I find this is often a huge resource-suck, with ever page request generating multiple i/o’s to the cglobal table.
/charlie
From: cfau...@googlegroups.com [mailto:cfau...@googlegroups.com] On Behalf Of Barry Chesterman
Sent: Sunday, November 28, 2010 5:14 PM
To: cfau...@googlegroups.com
Subject: Re: [cfaussie] Re: Microsoft SQL server CPU very high, close to 100% a lot of the time
Thanks Charlie,
Well, as far as having the limits because you’ve not needed to use it, I’m proposing that now’s the time. :-) And after capturing that data, then look in the JDBC logs (which are not enabled by default—again, controlled in the jdbc settings page). It’s going to be a lot of data, but you can do all sorts of things to analyze it, whether using Excel (or Open Office Calc) or the free Microsoft Log Parser tool. There is a technote from Intergral on using Excel to analyze the FR logs (http://www.fusion-reactor.com/support/kb/FRS-161.cfm), and I have a page I created with lots of info on analyzing them using LogParser (http://groups.google.com/group/fusionreactor/web/log-parser-commands-for-fr-3).
For instance, just getting a count of queries happening per minute can help (you can also interpolate that from the resource log instead, since it has a count of queries that finished every 5 seconds). But you could go further and report things like how many times specific queries are running, etc.
As for the DBA being “fairly certain” in his assertion, this is one of those times where analysis of diagnostics should be trusted more than intuition. I make a living help people find and correct such misconceptions. :-)
As for the client var question, the first step is simply to look in the CF Admin, on the Client variables page, to see if any DSNs are listed. Are you able to do that, or are you perhaps not allowed to access the Admin? Just can’t tell what you’re conveying in only being able to guess at things (it’s your Monday workday for you guys, right, so I’m assuming it isn’t that you’re not at work). :-)
As always, just trying to help.
/charlie
From: cfau...@googlegroups.com [mailto:cfau...@googlegroups.com] On Behalf Of Barry Chesterman
Sent: Sunday, November 28, 2010 8:25 PM
To: cfau...@googlegroups.com
Subject: Re: [cfaussie] Re: Microsoft SQL server CPU very high, close to 100% a lot of the time
It is looking like a 'death of a thousand cuts' issue as you put it, and we do have a plan if that is the case :)
Yes, that’s right: if it’s set to registry (and any code is set to enable ClientManagement and doesn’t specify a different ClientStorage, both settable in CFAPPLICATION or application.cfc), then yes, the i/o is to a file that simulates the registry (called registry.db, which I think is in the [cf]\lib directory on Linux.) If there’s a lot of reading/writing there, it could be a real drain—but of course would not have any direct impact on SQL Server CPU being high.
But you say you “have yours set to registry”, and by that I assume you mean it’s selected as the default client storage (on the client variables page, for those trying to follow along). The question, though, is whether you have any DSNs listed on that page also. If you do, then even though the registry is the chosen default, again an application could change that by specifying it with the ClientStorage attribute (discussed above). In that case, requests to that app would use that DB.
Again, if you have any at all, then I’d recommend you wrap it with FR and track what sort of I/O is going on, bringing things back to your original question. And if you want to know more about the whole matter of the potential performance impact of client variables, and how to analyze it and mitigate it, see the resources I’ve written, presented, or recorded on the matter:
http://carehart.org/presentations/#sessclicrash
http://www.carehart.org/blog/client/index.cfm/2006/10/4/bots_and_spiders_and_poor_CF_performance
Hope that helps.
/charlie
From: cfau...@googlegroups.com [mailto:cfau...@googlegroups.com] On Behalf Of Gavin Beau Baumanis
Sent: Sunday, November 28, 2010 11:33 PM
To: cfau...@googlegroups.com
Subject: Re: [cfaussie] Re: Microsoft SQL server CPU very high, close to 100% a lot of the time
As for the client settings / DSN.
Ok, yes, then if there is no DSN listed in the client variables page, that confirms that you cannot possibly be using them (whether intentional or otherwise). Glad to see that ruled out.
The query logging (and analysis) would seem to be the useful next step—though again, 100% CPU in the DB sure sounds like something that could be observed with monitoring on the DB side. It may not even be CF’s fault that it’s being stressed so. But if you can’t get the DBA to consider that, then the next best thing is to see if the query logs may show whether in fact CF is stressing the DB (whether in terms of the number or duration of queries, especially around the time that the 100% CPU issue is being reported).
Will look forward to hearing how things sort out.
/charlie
From: cfau...@googlegroups.com [mailto:cfau...@googlegroups.com] On Behalf Of Barry Chesterman
Sent: Monday, November 29, 2010 3:41 PM
To: cfau...@googlegroups.com
Subject: Re: [cfaussie] Re: Microsoft SQL server CPU very high, close to 100% a lot of the time
Hi Charlie,