Avatar of marrowyung
marrowyung
 asked on

The relationship between tempdb and replication slow response alert.

hi,

we keep having replication unresponsive alert from SQL server as I recalled that the replication job alert show this as normal before but it said Tempdb contention, but I can't find the related record any more.

any resource can help to determine this or measure it?
Microsoft SQL Server 2008Microsoft SQL Server

Avatar of undefined
Last Comment
marrowyung

8/22/2022 - Mon
Vitor Montalvão

It's your complex Merge Replication with CDC?
Do you have the exact error message?
marrowyung

ASKER
no.

it just merge replication slow and I am trying to see if enhancing tempdb can help.
Vitor Montalvão

I guess you should follow the usual recommendations for tempdb:
  • Isolate tempdb in a dedicated and fast disk
  • Have as many data files as the server has processors, till a maximum of 8
  • Having all files with the same size
This is the best money I have ever spent. I cannot not tell you how many times these folks have saved my bacon. I learn so much from the contributors.
rwheeler23
marrowyung

ASKER
hi,

yes, I have all that.

but one thing:

"Have as many data files as the server has processors, till a maximum of 8"

 that one should be only for SQL 2016 and above.

we all talking about .mdf and .ndf but how about log ? all data writes to log first and then committed to the data file.

how about as much tempdb log file as tempdb data file? and all equal size ?

this might also solve the tempdb log contention problem.
Vitor Montalvão

that one should be only for SQL 2016 and above.
No. That's a rule that DBAs are using since at least SQL Server 2005.


we all talking about .mdf and .ndf but how about log ? all data writes to log first and then committed to the data file.

 how about as much tempdb log file as tempdb data file? and all equal size ?
The rule is only for data files. There's no sense to create more that a transaction log file since it's sequential writing (the engine can't write in more than a transaction log file at a time).
marrowyung

ASKER
"No. That's a rule that DBAs are using since at least SQL Server 2005."

what I know there are only 3 x rules for tempdb:
1) number of tempdb file = number of CPU core.
2) number of tempdb file = 1/2 number of CPU core.
3) number of tempdb file = number of CPU socket,

I know in SQL 2016, default number of tempdb file is 8 and we no need to calculate any more, and just keep adding tempdb if tempdb contention is  found.

that's why I don't' understnad what you said.

"There's no sense to create more that a transaction log file since it's sequential writing (the engine can't write in more than a transaction log file at a time)."

tempdb data file is parallel write ?
⚡ FREE TRIAL OFFER
Try out a week of full access for free.
Find out why thousands trust the EE community with their toughest problems.
Vitor Montalvão

what I know there are only 3 x rules for tempdb:
 1) number of tempdb file = number of CPU core.
 2) number of tempdb file = 1/2 number of CPU core.
 3) number of tempdb file = number of CPU socket,
So if you have for example a server with 4 cores in 2 sockets, how many files would you create?

I know in SQL 2016, default number of tempdb file is 8 and we no need to calculate any more, and just keep adding tempdb if tempdb contention is  found.
This is for facilitate the life on non-DBAs :) And I bet that you don't see there more than one transaction log file, do you?

tempdb data file is parallel write ?
Any SQL Server database is, since it has more than one data file.
marrowyung

ASKER
"So if you have for example a server with 4 cores in 2 sockets, how many files would you create?"

it is a total of 8 cores, so 8 tempdb files, but I am more worry about the tempdb log files, as data write to that first.

"This is for facilitate the life on non-DBAs :) And I bet that you don't see there more than one transaction log file, do you?"

yes, it is for not that experts DBA.  

sorry you lost, I see a lot of situation where we have more than one log file and that's why I ask if it really helps.

you know now if I run who is active, you can see query from time to time write to tempdb log, this make me worry/think about one more tempdb log files to speed up the tempdb operation.

"Any SQL Server database is, since it has more than one data file."

just the log is not ...

do you know if it is in a round robin manner ?
marrowyung

ASKER
"This is for facilitate the life on non-DBAs :) And I bet that you don't see there more than one transaction log file, do you?"

can you tell me why people would like more than 1 tempdb log files ?
Experts Exchange has (a) saved my job multiple times, (b) saved me hours, days, and even weeks of work, and often (c) makes me look like a superhero! This place is MAGIC!
Walt Forbes
ASKER CERTIFIED SOLUTION
Vitor Montalvão

THIS SOLUTION ONLY AVAILABLE TO MEMBERS.
View this solution by signing up for a free trial.
Members can start a 7-Day free trial and enjoy unlimited access to the platform.
See Pricing Options
Start Free Trial
GET A PERSONALIZED SOLUTION
Ask your own question & get feedback from real experts
Find out why thousands trust the EE community with their toughest problems.
Vitor Montalvão

can you tell me why people would like more than 1 tempdb log files ?
Besides you and don't know anybody that like to have more than 1 tempdb log file. The only situation that I can think that justifies a second transaction log file is when the disk is full and for emergency you'll need to create a 2nd transaction log file in another disk for an immediate workaround.
marrowyung

ASKER
Vitor Montalvão,

"You're only losing time if trying to do something that's not possible."

ok, this is good answer then..

I just see TEmpdb contention message in replicaiton and I am not sure if I use create more log file instead of data files.

"The only situation that I can think that justifies a second transaction log file is when the disk is full and for emergency you'll need to create a 2nd transaction log file in another disk for an immediate workaround."

for emergency situation, like what we have today, we just kill spid and shrink log.

then tempdb fine.
marrowyung

ASKER
tks victor.
⚡ FREE TRIAL OFFER
Try out a week of full access for free.
Find out why thousands trust the EE community with their toughest problems.