ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

性能测试相关基础知识(一)

2020-09-07 21:32:41  阅读:246  来源: 互联网

标签:Java JVM -- 性能 基础知识 虚拟 内存 测试 cpu


一.服务器

1.虚拟技术发展

1).虚拟技术:

  刀片机

2).vm虚拟技术:

  刀片机上虚拟影子机器(kvm)

随着虚拟技术的出现,加上Linux支持多用户,Linux作为服务器开始盛行

缺点:消耗本身物理机内核,虚拟多个时机器会很卡;

   多个物理机虚拟出多个机器时,难管理

3).云技术:

消耗更小的物理机资源,一台机器可以虚拟出多个服务器,云技术基础。

降低应用占用的内存资源---->出现了容器技术----->承载更多应用

2.os操作系统

1)linux基本技能

  入门命令,如文件管理、网络

2)cpu知识

  影响cpu性能的主要因素分两大块:主频   +  架构(主要厂商amd  intel),关系到执行指令

 

  cpu的结构主要由运算器、寄存器、控制器三大块组成:

  控制器:控制指令、运算(管理者)

  寄存器:存储指令 、临时保存输出结果  (与运算器、内存对接)

  注:cpu缓存(寄存器)越大,能缓存东西越多,生产越快,因为成本高,不可能无限大。内存同样越大越好,存储指令,结果数据

  cpu上下文切换,cpu使用率高:切换输入原料,输入原料一直变,计算的时候也一直更改,影响计算速度

  运算器:运算(干活)

3)内存知识

  是cpu与其他设备沟通的桥梁,主要用来临时存放数据,配合cpu工作,协调cpu的处理速度

注:

断电,内存数据就没有了;

内存下面与磁盘对接:运行速度小于内存,内存运行速度小于寄存器。磁盘是固化存储

4)JVM知识

Java虚拟机:

  • 是一个虚构出来的运行Java程序的运行时环境,是通过在实际的计算机上仿真模拟各种计算机功能的实现。
  • 具有完善的硬件结构(如处理器,堆,栈,寄存器等),还有相应的指令系统,使用JVM就是使Java程序支持与操作系统无关。理论上,在任何操作系统上,只要有对应的JVM,即可运行Java程序

JVM的内存可分为三个区:堆、栈、方法区

  • 堆区:存放由new创建的对象和数组等引用数据类型,在堆中分配的内存,由Java虚拟机GC来管理。
  • 栈区:LIFO,存放基本类型和对象的引用
  • 方法区:又叫静态区,跟堆一样,被所有的线程共享。包含所有的class和static变量

 

 参考链接:https://blog.csdn.net/sunboylife/article/details/89400391

=============================-==========

安卓虚拟机(ART):在安卓系统上运行安卓程序的虚拟机。

  ART是在JVM基础上专门为Android移动设备定制的一套虚拟方案

========================================

3.web服务

1)Apache知识

  LAMP

2)Tomcat知识

  部署Java程序;

  Tomcat 的 conf 目录中的 server.xml 是其最重要的配置文件:

  Tomcat 中最顶层的是 server,有且仅有一个,代表整个服务器,一个 server 可以包含至少一个 service,每个 service 可以包含多个 connector (如,http,https)和一个 container;

  server端口:监听服务器关闭请求; 其他端口意义,参考连接:https://blog.csdn.net/weixin_41180516/article/details/84404776

性能调优要关注:   tomcat默认连接池的最大连接数2000;      1. maxThreads:  最大并发连接数   netstat  -anp | grep  8080 | wc  -l    查看8080端口目前有多少连接   
  • Server表示服务器,提供了一种优雅的方式来启动和停止整个系统,不必单独启停连接器和容器
  • Service表示服务,Server可以运行多个服务。比如一个Tomcat里面可运行订单服务、支付服务、用户服务等等
  • 每个Service可包含多个Connector一个Container。因为每个服务允许同时支持多种协议,但是每种协议最终执行的Servlet却是相同的
  • Connector表示连接器,比如一个服务可以同时支持AJP协议、Http协议和Https协议,每种协议可使用一种连接器来支持
  • Container表示容器,可以看做Servlet容器
    • Engine -- 引擎
    • Host -- 主机
    • Context -- 上下文
    • Wrapper -- 包装器
  • Service服务之下还有各种支撑组件,下面简单罗列一下这些组件
    • Manager -- 管理器,用于管理会话Session
    • Logger -- 日志器,用于管理日志
    • Loader -- 加载器,和类加载有关,只会开放给Context所使用
    • Pipeline -- 管道组件,配合Valve实现过滤器功能
    • Valve -- 阀门组件,配合Pipeline实现过滤器功能
    • Realm -- 认证授权组件
  参考链接:https://www.jianshu.com/u/794bce41b31b     2.Tomcat中的JVM配置:   默认情况下,最大能分配物理资源(内存)的一半

3)docker知识

4)k8s知识

5)微服务

4.web应用

5.数据库

 

标签:Java,JVM,--,性能,基础知识,虚拟,内存,测试,cpu
来源: https://www.cnblogs.com/kxx-1/p/13587378.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有