19__生成订单信息之一:应用JDBC池优化和内存溢出分析
你好,我是高楼。
在这节课中,我们来看一下生成订单接口的基准场景是什么结果。
你将看到一些重复的问题,比如 SQL 的问题定位,虽然具体的问题不同,但我们的分析逻辑没有区别,我会简单带过。同时,你也会看到一些新的问题,比如 JDBC 池增加之后,由于数据量过大导致 JVM 内存被消耗光;批量业务和实时业务共存导致的锁问题等。这节课,我们重点来看看这样的问题如何进一步优化。
你好,我是高楼。
在这节课中,我们来看一下生成订单接口的基准场景是什么结果。
你将看到一些重复的问题,比如 SQL 的问题定位,虽然具体的问题不同,但我们的分析逻辑没有区别,我会简单带过。同时,你也会看到一些新的问题,比如 JDBC 池增加之后,由于数据量过大导致 JVM 内存被消耗光;批量业务和实时业务共存导致的锁问题等。这节课,我们重点来看看这样的问题如何进一步优化。
你好,我是李玥。
这节课我们一起来聊一聊数据压缩。我在前面文章中提到过,我曾经在一台配置比较高的服务器上,对 Kafka 做过一个极限的性能压测,想验证一下 Kafka 到底有多快。我使用的种子消息大小为 1KB,只要是并发数量足够多,不开启压缩时,可以打满万兆网卡的全部带宽,TPS 接近 100 万。开启压缩时,TPS 可以达到 2000 万左右,吞吐量提升了大约 20 倍!
你好,我是吴磊。
在平衡不同硬件资源的时候,相比 CPU、内存、磁盘,网络开销无疑是最拖后腿的那一个,这一点在处理延迟上表现得非常明显。
下图就是不同硬件资源的处理延迟对比结果,我们可以看到最小的处理单位是纳秒。你可能对纳秒没什么概念,所以为了方便对比,我把纳秒等比放大到秒。这样,其他硬件资源的处理延迟也会跟着放大。最后一对比我们会发现,网络延迟是以天为单位的!
你好,我是许健。今天我们聊一聊怎么做危机管理。
《吕氏春秋·季春纪》里一篇叫《论人》的文章,这篇文章提到了识人的“八观、六验、六戚、四隐”,我觉得讲得非常好,有兴趣你可以去看看。它强调我们要真正考察一个人,就得看他在面对重大利益关切,遭遇重大变故时的表现。同理,真正考验领导力的,也是在出现危机的时候。
一般情况下,如果我跟你说查询性能优化,你首先会想到一些复杂的语句,想到查询需要返回大量的数据。但有些情况下,“查一行”,也会执行得特别慢。今天,我就跟你聊聊这个有趣的话题,看看什么情况下,会出现这个现象。
上一节,我们了解了进程创建的整个过程,今天我们来看线程创建的过程。
我们前面已经写过多线程编程的程序了,你应该都知道创建一个线程调用的是 pthread_create,可以你知道它背后的机制吗?
你好,我是雷蓓蓓。
上一讲,我给你介绍了非职权领导力“六力模型”中的前“三力”,分别是执行力、信息力和感知力。今天,我们接着来看后面的“三力”。
我在上一讲中提到过,信息力和感知力是对环境的观察、观察、再观察。你需要注意的是,这些观察的结果只有透明出来,才能发挥效用。你要想办法把你看到的问题可视化,让决策者和团队都能看到这些问题。这就是我经常说到的透明的力量。
你好,我是唐扬。
学完前面两节课之后,相信你对在垂直电商项目中,如何使用消息队列应对秒杀时的峰值流量已经有所了解。当然了,你也应该知道要如何做,才能保证消息不会丢失,尽量避免消息重复带来的影响。**那么我想让你思考一下:**除了这些内容,你在使用消息队列时还需要关注哪些点呢?
你好,我是尉刚强。这节课,我们来聊聊性能测试工具的选择和使用。
我们都知道,性能测试是在确保软件功能正确的前提下,通过一些测试与加压手段,来衡量软件性能表现、分析性能问题的一种技术方法。而性能测试工具,则是支撑性能测试工作效率的重要保障之一,所以在进行性能测试之前,选择一款合适的性能测试工具非常重要。
你好,我是庄振运。
今天我们进入了专栏的新模块:性能优化。在这个模块里,我会先从“性能优化的六大原则”开始讲起,然后再为你讲解实践中普遍采用的十个性能优化策略,并且分别针对 CPU、系统、存储以及跨层这几个领域,讲讲具体的优化案例。