28.1、上文案例再分析
在本次分析中,我们将深入探讨一个实际生产环境中频繁发生Full GC的案例。作为我们之前讨论过的案例的延续,我们将对一个特定的案例进行更深入的剖析。
首先,让我们回顾一下之前的案例。我们曾分析过一个日处理上亿数据的计算系统,这就是本文所要深入分析的“每日百亿数据量的实时分析系统”。
28.2、揭开日处理上亿数据系统的神秘面纱
这个系统的设计初衷是处理大规模的数据,每天需要处理的数据量达到数亿条记录。简而言之,这个系统的核心功能是从MySQL数据库以及其他数据源中持续抽取大量数据,并将其加载到自身的JVM内存中,以便进行高效的计算处理。
如下图所示。
这个数据计算系统是一个高效且持续运行的系统,它通过SQL语句和其他方法,从各种数据存储中提取数据到内存中进行计算。在生产环境中,每分钟大约需要执行500次数据提取和计算的任务。
由于这是一个分布式系统,因此在生产环境中部署了多台机器以分担负载。每台机器大约每分钟负责执行100次数据提取和计算的任务。
每次任务中,系统会提取大约1万条数据到内存中进行计算。平均来说,每次计算大约需要耗