PowerChart Freezing on Large Data - Need Optimization Suggestions

Hi, I need help displaying the data in the PowerChar (or suitable) which I am logging.

I am logging around 75 tags (could be way more in future) every 1 second based on whether the machine is running or not. I have configured a Scan Class for efficient logging. However, when I open the screen containing the PowerChart, everything freezes. It takes a long time to even browse the tags, making the entire screen unresponsive.

When I try to pull only 3 tags in Realtime mode with a 15-minute duration, the chart takes forever to load and again freezes the screen. This issue extends beyond the chart—all other screens that rely on SQL queries also freeze when trying to fetch the latest records.

My Setup:

  • Ignition Version: 8.1.43
  • Gateway Server RAM: 8 GB (assigned 6 GB to Ignition)
  • Database Server: Separate machine (also has 8 GB RAM)

Questions:

  1. How do you use PowerChart efficiently in your projects?
  2. What is the best way to handle high-frequency logging like this?
  3. What optimizations can I apply to allow operators to view historical data without performance issues?
  4. The customer wants to view up to 4 years of data—what’s the best approach for storing and querying this efficiently?

Any suggestions on tag historian settings, database indexing, or alternative approaches would be really helpful! Thanks in advance.

What's your memory usage graph look like, on the gateway's performance page?

I'm guessing "not good". 6gB is possibly undersized for your right now load with historian + visualization - and you mention "way more in future".

What database are you using?

Yes, this setup currently involves only 75 tags, but the number of tags will increase to 500 or more. Each tag logs data every second. The memory usage graph appears normal (though I couldn’t take a screenshot). However, I noticed that database queries were getting queued.

The database in use is MSSQL.

I also noticed something interesting: I copied the query from the Gateway Status page and executed it in SQL Server Management Studio. It took 3 minutes to return 25k rows. However, when I removed the ORDER BY clause, the same query returned the data in 2 secs!

Are you using the built in historian, or are you logging the data yourself via a script or a transaction group?

Sounds like your DB tables are missing proper indexes.

I am logging data with built-in historian so the all tables are created by Ignition only

I confirmed that indexing is available for tag_id and timestamp column (built-in historian created tables)