max worker threads

  • Dear All,

    i ahve dedicated SQL server 2005 Database server for supporting one application.

    Server Configuration is : O/S:64-bit, Microsoft SQL Server Standard Edition (64-bit), 4 processes with 12 GB RAM. currently we have 150 concurrent users are performing operations.here i am i am facing the issue like "Timeout expired. The timeout period elapsed prior to completion of the operation

    or the server is not responding." while installing SQL server Instance i didn't change any configuration setting. The Max worker treads is default is 0 ..

    Can any one suggest me if i changed from 0 to some other valve it will improve the perfomance.

    Thanks in advance,

    Thulasi.

  • trayalacheruvu (5/12/2009)


    Dear All,

    i ahve dedicated SQL server 2005 Database server for supporting one application.

    Server Configuration is : O/S:64-bit, Microsoft SQL Server Standard Edition (64-bit), 4 processes with 12 GB RAM. currently we have 150 concurrent users are performing operations.here i am i am facing the issue like "Timeout expired. The timeout period elapsed prior to completion of the operation

    or the server is not responding." while installing SQL server Instance i didn't change any configuration setting. The Max worker treads is default is 0 ..

    Can any one suggest me if i changed from 0 to some other valve it will improve the perfomance.

    Thanks in advance,

    Thulasi.

    I don't think changing the max worker thread setting will solve your problem. And even if it wouuld solve the problem I see it more as a last option if everything else fails.

    A better approach is investigating the process which causes the timeout. Timeout errors are generated by the frontend application, since SQL Server doesn't have a query timeout. It's just the client, which won't wait any longer.

    You should try to find out what queries are taking too long and why are they taking so long. Is it because the database is huge and the query very complex, do you need to add indexes or is it because different processes are blocking each other.

    [font="Verdana"]Markus Bohse[/font]

  • Hi,

    As the prior poster mentions, you need to identify the source of your performance woes. Only then can you troubleshoot and optimise performance.

    Take a look at the SQL Server Perormance area of Brent Ozar's blog. It provides some guidelines on how you can go about performance tuning a SQL Server Platform.

    http://www.brentozar.com/sql-server-performance-tuning/%5B/url%5D

  • hi Markus,

    There are few queries which is taking time to execute..but in the application level they have set that connection timeout period as 100 sec. for testing purpose i am planing to change this 100 sec to 200sec. after changing 200sec if its not giving the time error means we can optimize those long running queries. I have created indexes each and every table. and all the indexes are making use of the application.

    Thanks,

    Thulasi

  • trayalacheruvu (5/12/2009)


    hi Markus,

    There are few queries which is taking time to execute..but in the application level they have set that connection timeout period as 100 sec. for testing purpose i am planing to change this 100 sec to 200sec. after changing 200sec if its not giving the time error means we can optimize those long running queries. I have created indexes each and every table. and all the indexes are making use of the application.

    Thanks,

    Thulasi

    You should look for the query timeout, not the connection timeout. The connection timeout is just how long will it wait for the sewrver to respond when logging on to the database. The query timeout means how long the app waits for the results of a query.

    [font="Verdana"]Markus Bohse[/font]

  • trayalacheruvu (5/12/2009)


    hi Markus,

    There are few queries which is taking time to execute..but in the application level they have set that connection timeout period as 100 sec. for testing purpose i am planing to change this 100 sec to 200sec. after changing 200sec if its not giving the time error means we can optimize those long running queries. I have created indexes each and every table. and all the indexes are making use of the application.

    Thanks,

    Thulasi

    Are you sure it's using the indexes effeciently? Just because you see the index in the execution plan doesn't mean it's being used well. Are there scans? Are you getting the right kinds of joins based on the amount of data being moved? Are your statistics up to date? Are the indexes fragmented?

    All this information should be checked before you ever get into low level tuning of worker threads and things like that.

    "The credit belongs to the man who is actually in the arena, whose face is marred by dust and sweat and blood"
    - Theodore Roosevelt

    Author of:
    SQL Server Execution Plans
    SQL Server Query Performance Tuning

Viewing 6 posts - 1 through 5 (of 5 total)

You must be logged in to reply to this topic. Login to reply