性能调优 1、调优tomcat的线程池 1、1打开tomcat下的conf找到server.xml name : 执行器(线程池)的名字 namePrefix : 指定线程池中的每一个线程的name前缀 maxThreads:线程池中最大的线程数量 假设:请求的数量超过了“700,这将不是意味着将m ...
分类:
其他好文 时间:
2020-10-21 21:00:47
阅读次数:
26
1、什么是异步同步 如果一个方法被调用,调用者需要等待该方法被执行完毕之后才能继续执行,则是同步。 如果方法被调用后立刻返回,即使该方法是一个耗时操作,也能立刻返回到调用者,调用者不需要等待该方法,则称之为异步。 异步编程需要用到Task任务函数,不返回值的任务由 System.Threading. ...
分类:
编程语言 时间:
2020-10-16 10:57:42
阅读次数:
22
spring cloud 之 Hystrix Hystrix 是 Netflix 开源的一个延迟和容错库,用于隔离访问远程服务、第三方库,防止出现级联失败(雪崩) 雪崩:一个服务失败,导致整条链路的服务都失败的情形 Hystrix 主要功能 线程池隔离 默认为这个隔离 为每个模块分配线程池,不会因为 ...
分类:
编程语言 时间:
2020-10-14 20:12:40
阅读次数:
24
今天我们就从Python的并发开刀,大家都知道并发有几招,那这几招的性能如何呢,我们一起来实战PK一下! 要点: 手动线程池 concurrent.futures线程池 concurrent.futures进程池 gevent协程 1.实战爬取维基百科例子 平时我们有很多任务,尤其是比较耗时的大量任 ...
分类:
编程语言 时间:
2020-10-13 17:37:37
阅读次数:
33
服务端通常需要支持高并发业务访问,如何设计优秀的服务端网络IO工作线程/进程模型对业务的高并发访问需求起着至关重要的核心作用。本文总结了了不同场景下的多种网络IO线程/进程模型,并给出了各种模型的优缺点及其性能优化方法,非常适合服务端开发、中间件开发、数据库开发等开发人员借鉴。
分类:
数据库 时间:
2020-10-05 22:04:05
阅读次数:
39
首先,我们先了解一下什么是阻塞队列: 当队列满了时,队列会阻塞插入元素的线程,直到队列不满; 当队列为空时,获取元素的线程会等待队列变成非空。 常用到的方法 上面是对阻塞队列的简单了解,下面重点分析一下LinkedBlockingQueue。 源码分析 Node节点 可以看出是单向的链表结构 sta ...
分类:
数据库 时间:
2020-09-24 22:14:44
阅读次数:
101
多线程 进程与线程 一个进程有多个线程 进程之间相互隔离,线程之间可以相互通信 cpu一个时间点只能执行一个线程,但多个线程之间的切换比较快,给人一种多个线程同时执行的错觉 实现多线程的3种方法 继承Thread类(不推荐) 创建类,继承Thread类 重写run()方法 创建对象,使用start( ...
分类:
编程语言 时间:
2020-09-24 21:18:25
阅读次数:
43
了解了一下线程池,先记录一下,之后还会更新 1 import java.util.concurrent.ExecutorService; 2 import java.util.concurrent.Executors; 3 4 /** 5 * 以下是Java提供的创建线程池的四种常见方式,如果有特殊 ...
分类:
编程语言 时间:
2020-09-18 03:27:17
阅读次数:
41
在面向对象编程中,创建和销毁对象是很费时间的,因为创建一个对象要获取内存资源或者其它更多资源。在Java中更是如此,虚拟机将试图跟踪每一个对象,以便能够在对象销毁后进行垃圾回收。所以提高服务程序效率的一个手段就是尽可能减少创建和销毁对象的次数,特别是一些很耗资源的对象创建和销毁,这就是”池化资源”技 ...
分类:
编程语言 时间:
2020-09-18 00:05:40
阅读次数:
27
BIO通信模型图 缺点:缺乏弹性伸缩能力,线程是非常宝贵的资源,为每个请求创建、销毁线程会在请求数膨胀时出现性能问题,甚至堆栈溢出、创建线程失败,最终导致进程宕机。 改进用线程池 NIO的关键概念 缓冲区Buffer ByteBuffer(最常用) CharBuffer ShortBuffer In ...
分类:
Web程序 时间:
2020-09-17 21:06:34
阅读次数:
48