Business Central – How to make it go FAST!

Business Central – How to make it go FAST!

Microsoft in late January and early February published a series of pages on Microsoft Docs dedicated to performance with Business Central (On-premise, Cloud).

They are all very interesting, in particular, I want to report this page because it is very interesting for functional consultants (as in my case) more than for technicians; these are the things we repeat daily to our customers …and finally Microsoft has decided to formalize them.

How Application Configurations Affect Performance

  • Schedule long running reports to run in background
  • Schedule jobs (for example posting) to run in background
  • Enable background posting in areas where your business is using reservations and item tracking using serial and lot numbers
  • Adjust item costs as a periodic background job (i.e. do not adjust automatically)

“Do not run job queues too frequently!”

Avoid locking

When the Business Central database needs to have exclusive access to a table or a data row, it will issue a lock. When another session needs to access a locked resource, it needs to wait until the session holding the lock is finished with its work.

Use number series that allow gaps

Number series in Business Central are a shared resource that sometimes cause locking issues. Not all records that you create in Business Central are financial transactions that must use sequential numbering.  For all such number series, consider using number series that allow gaps to avoid locking issues. For more information, see Gaps in Number Series.

Be cautious with the Copy company operation

The Copy company operation is not intended to run while business transactions are being applied to Business Central. Should you need to perform a Copy company operation, it is highly recommended to do it outside working hours. Do turn off scheduled jobs while performing Copy company to avoid locking issues.

Things that affect UI performance

Personalize Your Workspace

Consider personalizing your UI for performance (hide non-essential parts on role center, list, and card pages)

Use links instead of document attachments to improve performance

Manage Attachments, Links, and Notes on Cards and Documents

Faster data entry-Keyboard Shortcuts

Use keyboard shortcuts for faster data entry

Block inactive entities

Block inactive customers, vendors, or items to improve filtering and searching on document data entry

Data search

Search in lists searches all columns in the database. To avoid resource starvation on broad data searches, a search might be subject to a timeout in which case the user will see a Searching for rows is taking too long. Try to search or filter using different criteria. message.

If users are experiencing slowness in data search, suggest them to set a column filter instead

Performance effect of enabling integration on a table

There is a performance overhead involved in enabling integration on an entity such as Customer or Contact that will impact performance. Only enable integration if you intend to integrate with Dynamics 365 Sales, and only do so on the entities that are needed.

Functionality with known performance impact

These areas of the Business Central application are known to cause a performance impact and require extra testing with realistic data setup before they are rolled out.

“Please do not do this”!

Finally, make sure that you do not repeat these performance mistakes that we have seen cause massive performance issues for customers:

  • Do not adjust cost item entries with a high frequency.
  • Do not set up a change log on everything. For more information, see Auditing Changes in Business Central.
  • Do not run job queues too frequently.
  • Do not adjust item costs automatically if you have a lot of item entries (run in the background instead).
  • Do not postpone setting up global dimensions, as this can be a heavy operation when you have a lot of data: set up correct global dimensions to avoid changing them later on.
  • Do not run the Copy company operation during business hours.

https://docs.microsoft.com/en-us/dynamics365/business-central/dev-itpro/performance/performance-application

“Performance Topics For Developers”

https://docs.microsoft.com/en-us/dynamics365/business-central/dev-itpro/performance/performance-developer

Optimizing Visual Studio Code (settings.json)

Open your settings.json file in the project (or global settings if you prefer that). Set:

  • al.enableCodeAnalysis“: false to remove code analysis, read more here Using the Code Analysis Tool.
  • al.enableCodeActions”: false
  • editor.codeLens“: false to remove code lens in Visual Studio Code, see Code Navigation.

Add the build folder to the exclusion list for Windows Defender.

“HOW TO SOLVE” PERFORMANCE PROBLEMS PAGE

How to work with a performance problem
https://docs.microsoft.com/en-us/dynamics365/business-central/dev-itpro/performance/performance-work-perf-problem

Great Job!

Comment List
Related
Recommended