asked on
ASKER
tempdb P&T decisions based on evidence see in monitoring like sp_sysmon and from the MDA tables.
Contention: if we see unacceptable lock contention on tempdb system tables, then we consider splitting up one big tempdb into a greater number of smaller tempdbs. We hope that tempdb usage will be divided up between them and we will see lock contention decrease.
But this will only help if there was lock contention in the first place, and if the workload truly is divided up evenly between the new tempdb databases.
Resilience: we like to add a small DBA-only tempdb so if users fill their tempdb database(s) we as DBAs still have one that we can use. This only works if we use tempdb groups to make sure only DBAs use the tempdb_dba database.
This is an important question because if you don't see tempdb lock contention then making multiple tempdbs can make things worse.
Making too many tempdb caches (or the wrong size) can kill your ASE performance.
Because it might be that you should have just one tempdb database and just one tempdb cache.
What problem(s) are you trying to solve, and what monitoring have you captured?
Given that almost all LUNs these days are on a SAN which is itself striped and doing its own balancing and reordering, there's usually little benefit in splitting LUNs for performance.
It is possible to see RHEL queue size and average waits for a LUN get unacceptably high,
ASKER
Go right ahead. I've already said your syntax is correct. I strongly recommend you measure performance before and after, because with your comments here I am fairly sure performance will get worse.
rather than because we've proven that we should, and then proven again that they helped. Good luck!yeah! some DMV can help on that !
ASKER
Nothing official from SAP. I'll be giving a webinar presentation on tempdb tuning for the UKSUG in June; you should see that advertised through their website.
This is important: a connection can use only one tempdb.
The issue is if you have 100 OLTP connections and 3 connections running reports. They might all end up assigned to the same tempdb, meaning one tempdb will be very busy (or even run out of space) while the others are empty.
like I suggested doing for DBAs. You might create ones to be used only by logins for a particular application, say, or another that all report users will be confined to.
what you can do with the sp_tempdb procedure.
exec master.dbo.sp_dboption tempdb, 'select into/bulkcopy/pllsort', true
exec master.dbo.sp_dboption tempdb, 'trunc log on chkpt', true
exec master.dbo.sp_dboption tempdb, 'allow wide dol rows', true
exec master.dbo.sp_dboption tempdb, 'abort tran on log full', true
which worked fine in my old 100Gb cache - will now have to squeeze into only 25Gb of cache, and run much more slowly as a result.
A smaller logonly cache just for tempdb logs can be a good idea. An even smaller cache for tempdb system tables can be a good idea.
... no offence but if you're asking that question you shouldn't be running any of these commands.
ASKER
sp_who output shows you which tempdb a connection is using.
Round-robin means just assign connections in the order they log in. It is the same in MS SQL. There is no attempt to load balance. My comment was that round-robin can still result in heavy users being assigned to the same tempdb.
splitting into more numerous but smaller tempdb caches (
ASKER
I've already said the syntax is correct. :)
ASKER
ASKER
ASKER
Under-the-Hood-with-SAP-ASE-Always-O
ASKER
Databases are organized collections of data, most commonly accessed through management systems including schemas, tables, queries and processes that allow users to enter and manipulate the information or utilize it in other fashions, such as with web applications or for reporting purposes.
TRUSTED BY