当前位置: 首页 > news >正文

余杭网站建设淘宝详情页设计

余杭网站建设,淘宝详情页设计,网站建设网页怎么排列顺序,wordpress会员管理为什么会有线程池#xff1f; 如果客户端发一个请求#xff0c;服务端就创建一个线程接收请求#xff0c;线程资源是有限的#xff0c;而且创建一个线程和执行结束之后都要调用操作系统资源销毁线程#xff0c;这样频繁操作肯定非常占用cpu和内存资源#xff0c;线程池的…为什么会有线程池 如果客户端发一个请求服务端就创建一个线程接收请求线程资源是有限的而且创建一个线程和执行结束之后都要调用操作系统资源销毁线程这样频繁操作肯定非常占用cpu和内存资源线程池的作用就是实现线程的资源复用和控制最大线程数还有队列异步处理请求这样就减少线程资源的浪费 一、ThreadPoolExecutor参数如何设置 核心线程数corePoolSize、最大线程数maximumPoolSize 可以根据三个方面进行分析 CPU密集型任务要避免线程的上下文切换所以尽量要少创建线程把corePoolSize设置成CPU核心数1加1是为了避免当中有的线程因为特殊情况被挂起为了尽可能的利用CPU资源IO密集型任务当线程操作IO资源时CPU资源是闲置的我们可以尽可能创建合适的线程数来压榨CPU资源IO时间越长可以设置更多的线程数但是不一定越多越好我们可以通过这个公式来计算线程数CPU核心数*(1线程等待时间/线程运行总时间)混合型任务 总时间-总时间CPU线程等待时间 理想状态下可这样估算但是系统可能运行有其它线程所以要进行压测 jmeter压测 pom.xml文件配置 parentgroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-parent/artifactIdversion2.5.0/versionrelativePath/ !-- lookup parent from repository --/parent dependenciesdependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-web/artifactId/dependency/dependencies java代码 SpringBootApplication public class Application {public static void main(String[] args){SpringApplication.run(Application.class, args);} }RestController public class TestController {GetMapping(/test)public String test() throws InterruptedException {Thread.sleep(1000);return test;} } jmeter压测操作 添加聚合报告 添加结果树视图 聚合结果报告 默认最大200个连接总执行时间25s平均响应时间(Average)4.2s最小响应时间(Min)1s最大响应时间(Max)8s请求错误率(Error)0%吞吐量(Throughput)每秒钟完成125.5个请求 设置最大800个连接总执行时间9s平均响应时间(Average)1.2s最小响应时间(Min)1s最大响应时间(Max)2.5s请求错误率(Error)0%吞吐量(Throughput)每秒钟完成560.6个请求 基本上压测最大连接数值如果平均响应时间和执行总时间趋于稳定为准 总结 CPU密集型任务CPU核心数1IO密集型任务抽样系统高峰期CPU执行时间再先通过公式算出理论值然后通过理论值进行压测压测的业务如果是核心业务并发量高比如1s需要处理1000个请求corePoolSize和maximumPoolSize都可以设置成500如果是非核心业务并发量小核心线程数保留10个就行最大线程数设置1000队列大小需要根据线程1s能处理多少请求比如1s能处理100个请求队列中有300个任务也就是说任务可能要等3s才能处理完如果不能接受这个时间就要限制队列大小 二、ThreadPoolExecutor具体执行过程 1、JUC包下ThreadPoolExecutor执行流程 核心线程来一个任务创建一个线程提交任务数超过核心线程数会放到队列中队列中放不下会在小于maximumPoolSize前提又创建新任务核心线程和非核心线程任务都做完了都会到队列中去拿任务 2、tomcat的ThreadPoolExecutor执行流程 创建ThreadPoolExecutor对象时就已经初始化好了核心线程 三、ThreadPoolExecutor如何关闭 正常关闭、异常关闭、手动调用shutdown()、shutdownNow()方法 https://www.processon.com/view/link/64cb797372e1a4480965cf86 为什么线程池执行任务时抛出异常会重新创建一个线程 方便做线程异常处理如果直接忽略导致无法处理异常所以让它抛出异常终止然后重启一个线程 ThreadPoolExecutor executor new ThreadPoolExecutor(10, 100, 1000, TimeUnit.MILLISECONDS, new ArrayBlockingQueueRunnable(100), new ThreadFactory() {Overridepublic Thread newThread(Runnable r) {Thread thread new Thread(r);thread.setUncaughtExceptionHandler(new Thread.UncaughtExceptionHandler() {Overridepublic void uncaughtException(Thread t, Throwable e) {System.out.println(拦截异常);}});return thread;}});
http://wiki.neutronadmin.com/news/211279/

相关文章:

  • 59网站一起做网店电子商务网站设计目的及要求
  • 自己搭建的ftp怎么做网站网站域名免费注册
  • 网站建设公司的销售好做吗网络营销外包平台
  • 建设家装网站的做网站公司
  • 用那种语言做网站比较好泉州seo网站建设费用
  • 怎么在百度制作自己的网站网页设计与制作模板
  • 网站建设开票多少个点wordpress 子主题插件
  • 福州网络营销推广公司电商网站怎么做优化
  • 毕业设计做网站好的想法做网站的 深圳
  • 网站编辑招聘产品设计方案2000字
  • 做网站刷流量挣钱吗长沙最坑装修公司
  • 站长工具网站排名湛江网站建设方案咨询
  • 如何做网站图片切换哈尔滨网站建设推广
  • 上海营销型网站seo网站建设签约
  • 列表形式网站营销是什么
  • 滕州英文网站建设优秀展示空间设计
  • 上海市建设安全协会网站j网站如何做数据储存的
  • 网站开发就业外部威胁wordpress 网店主题
  • 企业网站建设要多wordpress comment_count
  • 网站不会更新文章网站开发php还是jsp
  • 网站备案后深圳网站制作公司
  • 免费医疗网站模板小说关键词自动生成器
  • 沈阳网站建设搜q479185700网页版淘宝登录入口
  • 甘肃崇信县门户网站兰州专业网站建设公司哪家好
  • 柳州网站建设22电商网站在线支付怎么做
  • 建设银行信用卡管理中心网站首页网站开发不兼容ie8
  • 免费推广网站下载伊利集团的网站建设水平评价
  • 江苏省建设局网站首页调用百度地图做全景的网站
  • 怎样自己做代刷网站微信小程序介绍
  • pw域名网站温州品牌网站建设