Processing a large CZML data best way

Hello!

I have a question about Processing a large CZML data;

const czml = Cesium Resource with around 30000 objects // 100 mb
const czmlDS = new Cesium.CzmlDataSource('tracks-data');
this.viewer.dataSources.add(czmlDS);
czmlDS.load(czml);

The czml data looks like:

[
  {
        "id": "document",
        "name": "name",
        "version": "1.0",
        "clock": {
            "interval": "2021-02-16T18:11:48.000Z/2021-02-18T09:41:44.000Z",
            "currentTime": "2021-02-16T18:11:48.000Z",
            "multiplier": 60,
            "range": "LOOP_STOP",
            "step": "SYSTEM_CLOCK_MULTIPLIER"
        }
    },
,
    {
        "path": { // path },
        "billboard": {
            "image": "aircraft.png",
            "scale": 0.2,
            "show": true
        },
        "id": "7434531b-e27c-4df5-a051-b407d9b21297",
        "availability": "2021-02-17T22:35:42Z/2021-02-17T23:54:09Z",
        "position": {
            "interpolationAlgorithm": "LAGRANGE",
            "cartographicDegrees": [ ... // degrees ],
            "epoch": "2021-02-17T22:35:42Z",
            "interpolationDegree": 1
        },
        "properties": { // around 20 properties }
        }
    },
	// ... +30000
]

So this czml should show around 30000 aircrafts. My question is if that is the most light way to show 30000 aircrafts with availability depends on the clock time? When done this way the web app starts lagging and the browser crash sometimes. Оf course this may not be a problem of Cesium. Thanks.