19 | Spark的性能优化案例分析(上)
关于软件性能优化,有个著名的论断。
1. 你不能优化一个没有经过性能测试的软件。
2. 你不能优化一个你不了解其架构设计的软件。
性能指标包括:
响应时间:完成一次任务(请求)花费的时间。
并发数:同时处理的任务数(请求数)。
吞吐量:单位时间完成的任务数(请求数、事务数、查询数……)。
性能计数器:System Load,线程数,进程数,CPU、内存、磁盘、网络使用率等。
如果没有性能指标,我们也就不清楚软件性能的瓶颈,优化前和优化后也是无从对比。这样的优化工作只能是主观臆断:别人这样做说性能好,我们也这样优化。
而如果不了解软件的架构设计,你可能根本无从判断性能瓶颈产生的的根源,也不知道该从哪里优化。
所以性能优化的一般过程是:
1. 做性能测试,分析性能状况和瓶颈点。
2. 针对软件架构设计进行分析,寻找导致性能问题的原因。
3. 修改相关代码和架构,进行性能优化。
4. 做性能测试,对比是否提升性能,并寻找下一个性能瓶颈。
浙公网安备 33010602011771号