2015 Service Tier(s)

  • 2015 Service Tier(s)

    Posted by Ronald L McVicar Jr on March 20, 2018 at 4:49 pm
    • Ronald McVicar

      Member

      March 20, 2018 at 4:49 PM

      ?This is about Multiple Service Tiers: locking and performance
      Has anyone had the experience of having Multiple service Tiers in Microsoft Dynamics NAV 2015? What were your reasons?
      Also, how about having a Service Tier on the SQL Server?Ā  So if having multiple Service Tiers helps with performance, deadlocks and actual locking, having a Service Tier on the SQL Server especially in a VM vShere Host.Ā  So what do you do have the Service Tier on the same SQL Server or on the same VM Host so two Server on the same hardware platform (Host)?

      ——————————
      Ronald McVicar
      National Steak Processors, Inc.
      Owasso OK
      ——————————

    • Jason Wilder

      Member

      March 21, 2018 at 7:47 AM

      We have NAV 2016 and have multiple service tiers but not necessarily for performance reasons.

      We have one Client Service Tier that runs about 70 users with no issues.Ā 
      We have a service tier for web services which is on a separate machine for security reasons.
      We have a service tier to run NAS (3 Job Queues plus 6 dedicated processes for integration)
      We have a forth service tier for Odata connections (not used too much)

      All service tiers are on separate machines.Ā  Personally I would never put a service tier on the SQL Server machine but I am sure some people do probably without issue.

      Having multiple service tiers won’t help with locking/blocking.Ā  The database server and the code running NAV are the bottlenecks on blocking not the service tiers.

      I can’t remember if it is NAV 2015 or 2016 where the service tier is 64bit.Ā  This helps with overall performance.Ā  CPU and memory on your service tier are important as well.

      The big issue in our version of having multiple service tiers is caching.Ā  Each service tier caches data to optimize performance.Ā  The problem is that other machines may not see this data for up to 30 seconds.Ā  This has caused some really weird behavior especially in regards to our integration.Ā  Supposedly in NAV 2017 they re-wrote caching to make it better so we upgraded our executables to 2017 but there was no difference in the behavior.Ā  I have spoken with other people that have had similar issues.Ā 

      Curious as to the number of users and integrations you have as that usually helps with how you should set things up.

      ——————————
      Jason Wilder
      Senior Application Developer
      Stonewall Kitchen
      York ME
      ——————————
      ——————————————-

    • Ronald McVicar

      Member

      April 23, 2018 at 11:00 AM

      ?Thank you for your input.

      Our Service Tiers allowed us to isolate users and groups of users into processes, so we (and our partners)Ā could combine this with extra (SQL & Application Event)Ā logging to find out what was taking longer, what was colliding, who was winning the collisions, who was blocking and who was loosing.Ā At the beginning everyone was loosing: postingsĀ way to long; and retries way to many.Ā This (a method and logging) also allowed us to capture the SQL so that someone smarter than me could identifying indexes and query challenges (for improvements).Ā  Capturing the SQL activity and the Windows application event logs together gave us a better picture. What was worked on first, was transfers that needed to go from 2 to three hours each to 15 to 20 minutes; and then now to seconds, or minutes (1, 2 or three).Ā  End users are much more happy now.Ā  Now it’s off to posting, moving items and also EDI which for us is a much smaller challenge.Ā  We hope to roll back to three or four service tiers.Ā 

      Another layer of complexity with NAV 2015 has been managing user sessions, timeouts, etc. especially across multiple service tiers as with out of the box NAV 2015 you can only see user sessions while logged in to one service tier at a time.Ā  A helpful work around was to create a view of the sessions table and with MS Power BI aggregate users and their sessions across our service tiers was really helpful.Ā  One day we had users with 42 sessions open for a single users; and then one day someone won the high award with 72 sessions.Ā  Needless to day this also is much better.Ā  Getting to either NAV 2017 or NAV 2018 I hear will help administratively.

      ——————————
      Ronald McVicar
      National Steak Processors, Inc.
      Owasso OK
      ——————————
      ——————————————-

    • Holly Kutil

      Member

      March 21, 2018 at 9:40 AM

      We are also on NAV 2015 and are going to move to 2 service tiers for load balancing.

      However, we found the need set up an auto indexing weekly to help with locking and performance.Ā  We have not had any issues with locking and performance since then.

      ——————————
      Holly Kutil ~ NAVUG All-Star
      American Ring/CIO
      Solon, OH 44139
      **Great Lakes Chapter**
      ?? Women In Dynamics ??
      ——————————
      ——————————————-

    • Geovanny Fuentes

      Member

      April 24, 2018 at 11:44 AM

      Ronald, you need to really review the Event Viewer on the server to see what issues are occuring.

      Also have SQL server Mgt Studio up, when someone states its locked, Run the SQL query to find out whom the user is and what they are doing to cause the locking.

      Work on those issues to resolve them first.
      —————————

      SELECT

      Ā Ā Ā  SPIDĀ Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā  = er.session_id

      Ā Ā Ā  ,STATUSĀ Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā  = ses.STATUS

      Ā Ā Ā  ,[Login]Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā  = ses.login_name

      Ā Ā Ā  ,HostĀ Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā  = ses.host_name

      Ā Ā Ā  ,BlkByĀ Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā  = er.blocking_session_id

      Ā Ā Ā  ,DBNameĀ Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā  = DB_Name(er.database_id)

      Ā Ā Ā  ,CommandTypeĀ Ā Ā Ā Ā Ā Ā  = er.command

      Ā Ā Ā  ,SQLStatementĀ Ā Ā Ā Ā Ā  = st.text

      Ā Ā Ā  ,ObjectNameĀ Ā Ā Ā Ā Ā Ā Ā  = OBJECT_NAME(st.objectid)

      Ā Ā Ā  ,ElapsedMSĀ Ā Ā Ā Ā Ā Ā Ā Ā  = er.total_elapsed_time

      Ā Ā Ā  ,CPUTimeĀ Ā Ā  Ā Ā Ā Ā Ā Ā Ā Ā = er.cpu_time

      Ā Ā Ā  ,IOReadsĀ Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā  = er.logical_reads + er.reads

      Ā Ā Ā  ,IOWritesĀ Ā Ā Ā Ā Ā Ā Ā Ā Ā  = er.writes

      Ā Ā Ā  ,LastWaitTypeĀ Ā Ā Ā Ā Ā  = er.last_wait_type

      Ā Ā Ā  ,StartTimeĀ Ā Ā Ā Ā Ā Ā Ā Ā  = er.start_time

      Ā Ā Ā  ,ProtocolĀ Ā Ā Ā Ā Ā Ā Ā Ā Ā  = con.net_transport

      Ā Ā Ā  ,ConnectionWritesĀ Ā  = con.num_writes

      Ā Ā Ā  ,ConnectionReadsĀ Ā Ā  = con.num_reads

      Ā Ā Ā  ,ClientAddressĀ Ā Ā Ā Ā  = con.client_net_address

      Ā Ā Ā  ,AuthenticationĀ Ā Ā Ā  = con.auth_scheme

      FROM sys.dm_exec_requests er

      OUTER APPLY sys.dm_exec_sql_text(er.sql_handle) st

      LEFT JOIN sys.dm_exec_sessions ses

      ON ses.session_id = er.session_id

      LEFT JOIN sys.dm_exec_connections con

      ON con.session_id = ses.session_id

      ———————–
      Good luck

      ——————————
      Geovanny Fuentes
      San Diego CA
      ——————————
      ——————————————-

    • Ronald McVicar

      Member

      April 30, 2018 at 1:06 PM

      ?ThankĀ  you and yes we have had a lot of help.Ā  First we had some consolidation logging put in place to pull he Application Event logs and SQL logs in to some additional SQL tables and view to leverage.Ā  Our Key View is BlockCheck_View.Ā  This actually pulls all the Service Tiers together and we can see who is Originating the deadlocks, who wins they deadlocks and see who they end-up blocking.Ā  I get to see which Service Tier(s), what table(s) and any of one through eight (8) SQL traces / scripts.Ā  Leveraging this in Microsoft Power BI you get a good dashboard into the 50, 100 or hundreds of events.Ā  We are now down between 40 and 80 a day from hundreds.

      Sample of capture table:
      SELECTĀ  2026Ā  — Datetime
      Ā Ā Ā Ā Ā  ,[table_name]Ā  — NAV Table
      Ā Ā Ā Ā Ā  ,[index_name]
      Ā Ā Ā Ā Ā  ,[blocked_login]Ā  — Who got blocked
      Ā Ā Ā Ā Ā  ,[blocking_login]Ā Ā  — Who one the deadlock
      Ā Ā Ā Ā Ā  ,[blocking_originator]Ā  — The two often deadlocked
      Ā Ā Ā Ā Ā  ,[count]
      Ā Ā Ā Ā Ā  ,[max_duration]
      Ā Ā Ā Ā Ā  ,[avg_duration]
      Ā Ā Ā Ā Ā  ,[cmd_1]Ā Ā  —Ā  Some script SELECT(ing) from Item Ledger Entry, etc.
      Ā Ā Ā Ā Ā  ,[cmd_2]Ā Ā  — Other Scripts captured
      Ā Ā Ā Ā Ā  ,[cmd_3]Ā Ā Ā  — Other Scripts captured (if applicable)
      Ā Ā Ā Ā Ā  ,[cmd_4]Ā Ā  — Other Scripts captured (if applicable)
      Ā Ā Ā Ā Ā  ,[cmd_5]Ā Ā  — Other Scripts captured (if applicable)
      Ā Ā Ā Ā Ā  ,[cmd_6]Ā Ā  — Other Scripts captured (if applicable)
      Ā Ā Ā Ā Ā  ,[cmd_7]Ā Ā  — Other Scripts captured (if applicable)
      Ā Ā Ā Ā Ā  ,[cmd_8]Ā Ā  — Other Scripts captured (if applicable)
      Ā  FROM [ssi_BlockCheck_View]

      ——————————
      Ronald McVicar
      National Steak Processors, Inc.
      Owasso OK
      ——————————
      ——————————————-

    Ronald L McVicar Jr replied 8 years, 4 months ago 1 Member · 0 Replies
  • 0 Replies

Sorry, there were no replies found.

The discussion ‘2015 Service Tier(s)’ is closed to new replies.

Start of Discussion
0 of 0 replies June 2018
Now

Welcome to our new site!

Here you will find a wealth of information created for peopleĀ  that are on a mission to redefine business models with cloud techinologies, AI, automation, low code / no code applications, data, security & more to compete in the Acceleration Economy!