Error fixEpicor KineticPerformance / SQL Server / Client

Why Is Epicor So Slow? A Kinetic Performance Checklist

Error
why is epicor so slow

Also searched as

  • epicor kinetic issues
  • is epicor kinetic down
  • epicor kinetic slow screens
  • epicor 10 slow performance

Short answer

Epicor slowness usually comes from one of five layers: the client PC or browser, the network and VPN, the application server, SQL Server (blocking, missing maintenance, memory) or a specific heavy BAQ, dashboard or BPM. Find out whether it is everyone or one user, one screen or all screens, then work down the layers. If Epicor is hosted in Epicor Cloud, check the status page and your account contact before tuning anything.

Applies to: Epicor 10.x and Kinetic, on-prem, private cloud and Epicor-hosted

How to find the cause

  1. 1Scope it: one user, one site, one screen, or everyone? Note the time it started and what changed (upgrade, patch, new BPM, new BAQ, new users).
  2. 2Check whether it is down or slow. Open a simple screen such as a part lookup. If even that is slow, suspect the server, SQL or the network. If only one dashboard is slow, suspect the query.
  3. 3Test from the server or a machine on the server's network. If it is fast there but slow remotely, the problem is network, VPN or WAN latency.
  4. 4Check SQL Server: current blocking, long-running queries, CPU, memory pressure, disk latency, and whether index and statistics maintenance runs regularly.
  5. 5Check the Epicor application server: IIS app pool health, memory, recycling, and the server event logs.
  6. 6Review BPM directives and custom code on the slow transaction. A synchronous directive that calls external services or runs heavy queries slows every save.
  7. 7Review the slow BAQ or dashboard: remove unnecessary joins, add filters and parameters, and avoid returning all rows to the client.
  8. 8Change one thing at a time and measure before and after.

Client and network

Kinetic's browser and smart client depend on client CPU and memory, browser caching and a stable connection. A remote office over VPN will feel every extra round trip, especially in screens that make many small calls. Compare timings from inside and outside the network before blaming the server.

Clear the client cache, check for antivirus scanning the cache folder, and confirm the client version matches the server version after an upgrade.

SQL Server and the application server

Most persistent slowness traces back to the database: blocked sessions, missing index maintenance, stale statistics, too little memory, slow disks, or a few expensive queries. Look at the actively running queries and wait types rather than guessing. Long scheduled tasks (MRP, costing, big reports) running in business hours are a frequent culprit.

On the app server, watch memory and app pool recycling. Slowness that starts at a fixed time of day often lines up with a scheduled job, backup or a sync.

-- Currently blocked sessions on SQL Server
SELECT session_id, blocking_session_id, wait_type, wait_time, status
FROM sys.dm_exec_requests
WHERE blocking_session_id <> 0;

Is Epicor down?

For Epicor-hosted tenants, check Epicor's status communications and open a case if there is an outage. For on-prem and private cloud, confirm the IIS site, app pool, SQL service and the Epicor task agent are running, and that licensing and certificates have not expired.

Keep a baseline: how long a standard screen takes on a good day. Without a baseline every complaint is an opinion.

Try it here, free

Epicor BAQ Performance Tuning Checklist

Open full tool

Work through a practical list of checks when a BAQ, dashboard or BPM lookup runs slowly in Epicor Kinetic.

Common pitfalls

  • !Restarting services without capturing evidence hides the cause and the problem comes back.
  • !Tuning SQL while a synchronous BPM is the real cause wastes weeks.
  • !Running MRP or costing during peak hours makes everything look broken.
  • !Assuming all slowness is the network when only one dashboard is slow.

How an ERP-grounded AI assistant handles this

Netray's approach is to keep ERP queries bounded: an assistant that generates read-only, filtered queries over Epicor data avoids the unfiltered all-rows BAQs that often cause slowness. It can also summarise which saved BAQs and dashboards are used most, so you know which to tune first. It does not replace DBA tuning.

Frequently asked questions

Why is Epicor Kinetic slow today?

Check scope first. If everyone is slow, suspect the server, SQL, a scheduled task or an outage. If one user or site, suspect the client or network. If one screen, suspect a query or BPM.

How do I know if Epicor is down?

Try a simple screen, check from the server network, and check the hosting provider or Epicor status if cloud-hosted. For on-prem confirm IIS, SQL and task agent services.

Can a BAQ slow down the whole system?

Yes. A heavy unfiltered BAQ or dashboard can saturate SQL and block others. Add filters, parameters and limit the columns returned.

Does upgrading fix slowness?

Sometimes, but often not. Measure first. Upgrades also change client behaviour and can expose customizations that were fast before.

Related

How-to

Fixing a Slow Epicor BAQ (Business Activity Query)

A slow BAQ in Epicor is usually caused by unindexed join columns, a subquery or calculated field forcing a table scan, or the BAQ pulling far more rows than the dashboard actually displays before filtering client-side. Fix it by reading the SQL Server execution plan Epicor generates, moving filters into the BAQ criteria instead of the dashboard filter panel, and replacing subqueries with joins where possible.

How-to

Prophet 21 is slow or freezing: how to find and fix SQL Server blocking

When Prophet 21 hangs for many users at once, the cause is usually one SQL Server session blocking others, or a long-running report holding locks on hot tables such as order and inventory location rows. Find the head blocker with sys.dm_exec_requests, identify the statement and the P21 client or report behind it, and fix that, rather than restarting the application server.

How-to

Preserving Customizations When Upgrading to Epicor Kinetic

Epicor Kinetic's web UI does not simply inherit classic smart-client customizations - most need to go through the Update Customization / Application Studio conversion process, and some WinForms-specific customizations cannot convert directly and must be rebuilt in the Kinetic designer. Plan the upgrade as a customization inventory and rework project, not a single technical cutover step.

Error fix

Epicor BPM Runtime Error: Where to Look and How to Fix It

A BPM runtime error is an exception thrown while a directive runs, so the user's save or action fails. Find the directive name and line in the client trace or server log, then check the usual causes: a null reference in custom code, a directive that no longer compiles after a change, conflicting directive order, or a lock or validation error from a nested update.

Error fix

Fixing Epicor BusinessObjectException: BPM Directive Errors

A BusinessObjectException that says "A Business Process Management (BPM) directive has raised the following error" means a directive on that business object stopped the transaction, either deliberately via a Raise Exception widget or accidentally via an unhandled .NET error in Custom Code. Expand the InnerException on the error dialog to see the real message and the directive name, then open BPM Designer for that object and method to find the widget that fired.

How-to

Epicor MRP Runs but Generates No Suggestions

When Epicor's MRP process completes without a job or purchase suggestion for a part you expect one for, the cause is almost always the part's own configuration (Part Class Type, Make Direct, Non-MRP flag, planning Time Fence) or the demand not being linked in a way MRP recognizes, not a defect in the MRP engine. Work through the part's Planning tab, its safety stock and lead time setup, and the demand source (sales order line status, job material requirement) before assuming the run itself failed.

AI for ERP

AI for Epicor Kinetic, Beyond What Prism Covers

Add AI to Epicor Kinetic beyond Prism: private LLM over BAQs, BPM data, and REST v2, on-prem or private cloud, with honest guidance on when Prism already covers you.

AI for ERP

Private AI for Epicor Kinetic Cloud, Outside the Multi-Tenant Boundary

Run a private LLM on Epicor Kinetic private cloud or Kinetic Cloud data via BAQs, REST v2 and Data Fabric, keeping sensitive manufacturing data off shared AI.

Stuck on Epicor Kinetic?

Talk to engineers who work inside Epicor Kinetic every week, and who build private AI that answers these questions from your own ERP data.

Keep exploring

Free tools

ERP fixes and how-tos

Guides

AI on your ERP

Integrations

Comparisons

Software