0

I am looking at running perfmon on our servers and storing the data to a data source, which is relatively easy to do. However, my concern is with how frequently Perfmon will perform data updates.

Does it do this for every update? Meaning, if I have the interval set to 1second, does it perform an insert every second? Or does it wait and batch them together? Is there any way to control this?

2 Answers 2

4

Does it do this for every update?

Yes.

5
  • So there's no way to cache these updates and batch-update? Aug 20, 2013 at 16:54
  • Can you more fully express what actual problem you're having, instead of starting with how you're trying to solve it?
    – mfinni
    Aug 20, 2013 at 17:14
  • @mfinni - I have to go to my database administrator and explain the kind of extra load this will place on the production database servers. I would prefer to have a way to minimize the load. 1 Update * 200 counters every second is not something I can bring to them. Yes, I know I can reduce the interval, but i'd rather not if I don't have to. If I can tell them it will batch update 2000 rows every 10 seconds, that's a lot better. Aug 20, 2013 at 17:54
  • I see. It may justify having its own DB server, if you're going to be driving a lot of load to it.
    – mfinni
    Aug 20, 2013 at 17:59
  • @mfinni - This is why i'm trying to understand the options. Aug 20, 2013 at 18:06
1

You could use another process to do this for you.

"Another alternative is to log the data to a *.blg (binary) format on the local disk of the machine that you’re monitoring, then post-process it later."

http://blogs.msdn.com/b/granth/archive/2008/09/23/relogging-perfmon-binary-log-files-to-sql.aspx

Now, the relog process will presumably hammer the crap out of your DB when it runs if you configure as above : once a day. Maybe you configure perfmon to restart once every 10 minutes, and then have your copy-and-relog processes configured similarly.

At any rate, you should test out different scenarios on a test SQL server, if you're concerned about impact to production and want to get this right the first time. Either way, you can only spread out or concentrating the load, not reduce it. All those writes will hit the SQL server, from my reading of it, it doesn't seem like it will do a BULK INSERT, from the documented command line options.

2
  • Very nice catch there. Exactly what I am looking for. Thanks. Technically, Chopper3 answered the question I asked, but you provided the info I needed. Aug 20, 2013 at 20:47
  • Yup - that's why we want to know what problem you're really trying to solve. Including what you've done and what you're trying is very important information, but always give the big picture.
    – mfinni
    Aug 20, 2013 at 21:05

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .