Showing posts with label setup. Show all posts
Showing posts with label setup. Show all posts

Friday, March 30, 2012

performance tuning on high volume server

I am looking to improve the performance of my sql server databases.

I currently have a dual location system, the database server setup is basically a quad xeon with 4gb at my office and a double xeon with 4gb at a remote webhosting location. There are separate application/web/intranet servers at each site. The two databases servers are replicated with the local server publishing to the remote server.

The relational database holds circa 26 million records, growing by a volume of 10,000 per day, there are approximately 50,000 queries performed per day.

My theory is that the replication of the two databases is causing a slowdown; despite fast network connections (averaging 200ms between servers) the replication seems to place a large load on the local server. Would it be sensible to replicate to a second local server and then replicate to the remote server, placing any burden on the second server?

I am planning to upgrade the local server to a high capacity 4+ cpu 64bit server, my problem is that although I have noticed a slow down in performance over time, I am unsure how to go about measuring and quantifying this in order to diagnose the bottlenecks and ensure that investing in a new server would be worthwhile. Where would one be best advised to start this project?

Hi Gavin. What type of replication scheme have you implemented? Transactional/merge? Peer-to-peer, read-only subscriber, queud/immediate updating subscriber, etc.? Where to start on the research would have a lot to do with what type of topology you are using.

How are you getting to the conclusion that replication is responsible for the slowdown?

|||

Hi - it is a transactional type replication.

Chad Boyd MSFT wrote:

How are you getting to the conclusion that replication is responsible for the slowdown?

When turing off replication, the performance was improved. It seems that the bandwidth between servers would explain this.

What can I tell you about the topology?

|||

Hi Gavin. Is it a bi-directional replication setup? i.e. are the subscribers set to replicate updates back to the publisher, or are the subscribers simply read-only? What type of link exists between the sites (T1, T3, partial T, etc.)?

From the general sounds of things, you don't have an extremely busy write server, so a decent link between the 2 sites sounds sufficient for what you have, which is why it would be surprising to hear that the bottleneck is the network bandwidth...of course, it most certainly could be depending on the types of transactions you are seeing, this is just me thinking out loud.

You mentioned when turning off replication that performance improved, do you mean that end-users received responses to queries faster? Or you noticed particular counters drop significantly? Or possibly blocking/locking issues disipated?

I'd be surprised if the link is the bottleneck, since when you say performance improved I'm going to assume you mean end-users started seeing faster response times to requests...if that's the case, it would seem that there is something occuring on the box itself that is slowing down the response times (of course, that could be the replication agent keeping a lock on something because it is waiting for a response from the subscriber across a slow link, but in transactional replication, that's not as common as with merge, where the agents are querying tables directly...in transactional replication, the log is read directly).

Anything you can post that explains what you are seeing in terms of what is showing you performance is improved? Counters, query response times, etc.?

|||

I am also working with large volumes of data average of 12million records per table and a total of 23million record.No cluster or Indexes, this is because the data is to bulk to change.While running queries i find that my application hangs even if i set the ODBC timeout to 0. Unlike you i working with a normal X86 2.86 GHZ and 504MB RAM.

Please advice

|||

thank you for all your replies and assistance so far.

Chad - to answer your questions the subscribers are all read-only and there is a T1 link between sites.

As I am a developer and not a database specialist I have decided that I need to bring in some outsourced consultancy. Before I do this I would like to do some research so that I can learn as much as possible I would like to be up to speed on this and have as much background knowledge as possible.

I think that the first thing that I should do is to measure the facts as much as possible. Could you please advise me as to what tools and applications I can utilise to gather statistical facts?

What can I learn from my log files? What monitoring tools can I install?

performance tuning on high volume server

I am looking to improve the performance of my sql server databases.

I currently have a dual location system, the database server setup is basically a quad xeon with 4gb at my office and a double xeon with 4gb at a remote webhosting location. There are separate application/web/intranet servers at each site. The two databases servers are replicated with the local server publishing to the remote server.

The relational database holds circa 26 million records, growing by a volume of 10,000 per day, there are approximately 50,000 queries performed per day.

My theory is that the replication of the two databases is causing a slowdown; despite fast network connections (averaging 200ms between servers) the replication seems to place a large load on the local server. Would it be sensible to replicate to a second local server and then replicate to the remote server, placing any burden on the second server?

I am planning to upgrade the local server to a high capacity 4+ cpu 64bit server, my problem is that although I have noticed a slow down in performance over time, I am unsure how to go about measuring and quantifying this in order to diagnose the bottlenecks and ensure that investing in a new server would be worthwhile. Where would one be best advised to start this project?

Hi Gavin. What type of replication scheme have you implemented? Transactional/merge? Peer-to-peer, read-only subscriber, queud/immediate updating subscriber, etc.? Where to start on the research would have a lot to do with what type of topology you are using.

How are you getting to the conclusion that replication is responsible for the slowdown?

|||

Hi - it is a transactional type replication.

Chad Boyd MSFT wrote:

How are you getting to the conclusion that replication is responsible for the slowdown?

When turing off replication, the performance was improved. It seems that the bandwidth between servers would explain this.

What can I tell you about the topology?

|||

Hi Gavin. Is it a bi-directional replication setup? i.e. are the subscribers set to replicate updates back to the publisher, or are the subscribers simply read-only? What type of link exists between the sites (T1, T3, partial T, etc.)?

From the general sounds of things, you don't have an extremely busy write server, so a decent link between the 2 sites sounds sufficient for what you have, which is why it would be surprising to hear that the bottleneck is the network bandwidth...of course, it most certainly could be depending on the types of transactions you are seeing, this is just me thinking out loud.

You mentioned when turning off replication that performance improved, do you mean that end-users received responses to queries faster? Or you noticed particular counters drop significantly? Or possibly blocking/locking issues disipated?

I'd be surprised if the link is the bottleneck, since when you say performance improved I'm going to assume you mean end-users started seeing faster response times to requests...if that's the case, it would seem that there is something occuring on the box itself that is slowing down the response times (of course, that could be the replication agent keeping a lock on something because it is waiting for a response from the subscriber across a slow link, but in transactional replication, that's not as common as with merge, where the agents are querying tables directly...in transactional replication, the log is read directly).

Anything you can post that explains what you are seeing in terms of what is showing you performance is improved? Counters, query response times, etc.?

|||

I am also working with large volumes of data average of 12million records per table and a total of 23million record.No cluster or Indexes, this is because the data is to bulk to change.While running queries i find that my application hangs even if i set the ODBC timeout to 0. Unlike you i working with a normal X86 2.86 GHZ and 504MB RAM.

Please advice

|||

thank you for all your replies and assistance so far.

Chad - to answer your questions the subscribers are all read-only and there is a T1 link between sites.

As I am a developer and not a database specialist I have decided that I need to bring in some outsourced consultancy. Before I do this I would like to do some research so that I can learn as much as possible I would like to be up to speed on this and have as much background knowledge as possible.

I think that the first thing that I should do is to measure the facts as much as possible. Could you please advise me as to what tools and applications I can utilise to gather statistical facts?

What can I learn from my log files? What monitoring tools can I install?

Tuesday, March 20, 2012

Performance problem with SQL Server Express

My current database is running in MSDE.I setup a new server and installed SQL Server 2005 Express.I then copied the database to the new server and attached it.After testing the new server, I noticed that one of my stored procedures that uses a forward_only keyset cursor is running about ten times slower.I’ve compared all the setting between the two servers and everything looks good.I also installed a trial copy of SQL Server 2005 on a spare PC and ran the same test.Again, the stored procedure is running about ten times slower.I’m not experiencing any other performance problems.

Any help would be appreciated.

Thanks

You might want to ask this question on the SQL Server Database Engine forum. I don't expect the Express edition to be any different from the standard one for cursor functionality.

Thanks
Laurentiu

Monday, February 20, 2012

Performance monitor question

I'm trying to setup logging of my perfmon data into and MSSQL database, but
what I can't seem to find is the schema definition for the SQL Table(s) that
I need to create. Anyone know where I can find this at?
Thanks,
Tom
The schema will be created automatically by the Performance Logs and Alerts
service as long as the account has CREATE TABLE permissions in the target
database.
Hope this helps.
Dan Guzman
SQL Server MVP
"Tom Pennington" <NONEt2pennington@.comcast.net> wrote in message
news:%23%23c5wYOgEHA.2020@.TK2MSFTNGP10.phx.gbl...
> I'm trying to setup logging of my perfmon data into and MSSQL database,
but
> what I can't seem to find is the schema definition for the SQL Table(s)
that
> I need to create. Anyone know where I can find this at?
> Thanks,
> Tom
>
|||Thanks for the quick reply. I'll give it a try.
Tom
"Dan Guzman" <danguzman@.nospam-earthlink.net> wrote in message
news:ewG1puOgEHA.4040@.TK2MSFTNGP10.phx.gbl...
> The schema will be created automatically by the Performance Logs and
Alerts
> service as long as the account has CREATE TABLE permissions in the target
> database.
> --
> Hope this helps.
> Dan Guzman
> SQL Server MVP
> "Tom Pennington" <NONEt2pennington@.comcast.net> wrote in message
> news:%23%23c5wYOgEHA.2020@.TK2MSFTNGP10.phx.gbl...
> but
> that
>

Performance monitor question

I'm trying to setup logging of my perfmon data into and MSSQL database, but
what I can't seem to find is the schema definition for the SQL Table(s) that
I need to create. Anyone know where I can find this at?
Thanks,
TomThe schema will be created automatically by the Performance Logs and Alerts
service as long as the account has CREATE TABLE permissions in the target
database.
--
Hope this helps.
Dan Guzman
SQL Server MVP
"Tom Pennington" <NONEt2pennington@.comcast.net> wrote in message
news:%23%23c5wYOgEHA.2020@.TK2MSFTNGP10.phx.gbl...
> I'm trying to setup logging of my perfmon data into and MSSQL database,
but
> what I can't seem to find is the schema definition for the SQL Table(s)
that
> I need to create. Anyone know where I can find this at?
> Thanks,
> Tom
>|||Thanks for the quick reply. I'll give it a try.
Tom
"Dan Guzman" <danguzman@.nospam-earthlink.net> wrote in message
news:ewG1puOgEHA.4040@.TK2MSFTNGP10.phx.gbl...
> The schema will be created automatically by the Performance Logs and
Alerts
> service as long as the account has CREATE TABLE permissions in the target
> database.
> --
> Hope this helps.
> Dan Guzman
> SQL Server MVP
> "Tom Pennington" <NONEt2pennington@.comcast.net> wrote in message
> news:%23%23c5wYOgEHA.2020@.TK2MSFTNGP10.phx.gbl...
> > I'm trying to setup logging of my perfmon data into and MSSQL database,
> but
> > what I can't seem to find is the schema definition for the SQL Table(s)
> that
> > I need to create. Anyone know where I can find this at?
> >
> > Thanks,
> > Tom
> >
> >
>

Performance Monitor log files

For the SQL Server running here we have setup a log file that monitors all the activities while the server is running, such as processor percentage being used over the day, CPU percentage taken by SQL Server etc. The problem I'm facing is that the log files (which are in PERFMON format) are recorded over a period of a business day for 30 days. Now I want to get the measurements for all the 30 days combined into one file where i can analyze all the measurement over 30 days.

Thanks in advance.HI

I dont know of any way to combine log files. The best you can do is establish numeric values then manually put these into a spreadsheet if you want a graph.

In future, just run the perfmon monitoring for 30 days......

Hope this helps,

SG