一、首先,理解并行与并发的含义:
现在很多机器都是多核,例如当前是4核,那么并行的数量就是4;并发是指我们服务器应用单位时间内,同时处理请求的能力。
从多线程的特点来看:
1)同步:
缺点:发短信流程如果异常,则会影响生单的流程,类似一个数据事务;仔细研究发现,发送短信并非生单流程中的关键路径,可以采用异步的方式,缩短关键业务的关键路径;针对非关键路径的流程采用异步执行的方式,例如工单表、插入MQ队列、单独起异步线程等等方式执行,如果处理失败,还可以重试,直到成功为止,不影响生单的整体流程。
2)异步:
3)并行&并发:
二、影响服务器吞吐量(并发量)的因数有哪些:
1)硬件层面:
CPU、内存、磁盘、网络;
2)软件层面:
最大层面的利用硬件资源
线程数量、JVM内存分配大小、网络通信机制(BIO、NIO、AIO)、磁盘IO
例如:
Linux系统中,会设置最大进程数量,单个进程的最大线程数量。
BIO、NIO的通信机制,一样会影响系统资源的利用效率。