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

电商网站开发工程师wordpress的index.php

电商网站开发工程师,wordpress的index.php,网站排名优化工薪待遇,买个网站域名要多少钱在目前流行的互联网架构中#xff0c;Tomcat在目前的网络编程中是举足轻重的#xff0c;由于Tomcat的运行依赖于JVM#xff0c;从虚拟机的角度把Tomcat的调整分为外部环境调优 JVM 和 Tomcat 自身调优两部分 Tomcat 是一个流行的开源 Java 服务器#xff0c;用于托管 Java …在目前流行的互联网架构中Tomcat在目前的网络编程中是举足轻重的由于Tomcat的运行依赖于JVM从虚拟机的角度把Tomcat的调整分为外部环境调优 JVM 和 Tomcat 自身调优两部分 Tomcat 是一个流行的开源 Java 服务器用于托管 Java 服务器页面JavaServer PagesJSP。JSP 是一种动态网页技术它允许开发人员在 HTML 页面中嵌入 Java 代码。 JDKJava Development Kit是Java开发工具包的缩写它是用于开发Java应用程序的软件开发工具包 一、 JVM组成 JVMJava虚拟机是Java编程语言的关键组件它是Java平台的一部分。JVM是一个抽象的计算机它在物理计算机上运行负责执行Java字节码。JVM有自己的指令集它的工作是将Java字节码翻译成物理计算机的指令以便物理计算机能够理解和执行 1.1JVM 组成 方法区等于源数据区Method Area heap 图纸 存放了线程所必须的方案 Program Counter Register 标记线程是否使用 heap是重点调优的 程序计数器标记程序线程是否被在使用没有被使用就是垃圾了需要清理了 JVM组成部分 类加载子系统: 使用Java语言编写.java Source Code文件通过javac编译成.class Byte Code文件。class loader类加载器将所需所有类加载到内存必要时将类实例化成实例 运行时数据区: 最消耗内存的空间,需要优化 执行引擎: 包括JIT (JustInTimeCompiler)即时编译器, GC垃圾回收器 本地方法接口: 将本地方法栈通过JNI(Java Native Interface)调用Native Method Libraries, 比如:C,C库等,扩展Java功能,融合不同的编程语言为Java所用 JVM运行时数据区域由下面部分构成 Method Area (线程共享)方法区是所有线程共享的内存空间存放已加载的类信息(构造方法,接口定义),常量(final),静态变量(static), 运行时常量池等。但实例变量存放在堆内存中. 从JDK8开始此空间由永久代改名为元空间 heap (线程共享)堆在虚拟机启动时创建,存放创建的所有对象信息。如果对象无法申请到可用内存将抛出OOM异常.堆是靠GC垃圾回收器管理的,通过-Xmx -Xms 指定最大堆和最小堆空间大小 Java stack (线程私有)Java栈是每个线程会分配一个栈存放java中8大基本数据类型,对象引用,实例的本地变量,方法参数和返回值等,基于FILO()First In Last Out,每个方法为一个栈帧 1 50 % Program Counter Register (线程私有)PC寄存器就是一个指针,指向方法区中的方法字节码,每一个线程用于记录当前线程正在执行的字节码指令地址。由执行引擎读取下一条指令.因为线程需要切换当一个线程被切换回来需要执行的时候知道执行到哪里了 Native Method stack (线程私有)本地方法栈为本地方法执行构建的内存空间存放本地方法执行时的局部变量、操作数等。 虚拟机 目前HotSpot是最主要的 JVM。 安卓程序需要运行在JVM上而安卓平台使用了Google自研的Java虚拟机——Dalvid适合于内存、处理器能力有限系统。 对于垃圾回收,需要解决三个问题 哪些是垃圾要回收 A计数法计数为0 就是垃圾 B根搜索法具体是谁在用 这个进程 怎么回收垃圾 什么时候回收垃圾 1.2Garbage 垃圾确定方法 引用计数: 每一个堆内对象上都与一个私有引用计数器记录着被引用的次数引用计数清零该对象所占用堆内存就可以被回收。循环引用的对象都无法将引用计数归零就无法清除。Python中即使用此种方式。 简单来说就是有个笔记本记录有没有人在用缺陷AB 资源互相调用 根搜索(可达)算法 Root Searching 二、垃圾回收基本算法 2.1标记-清除 Mark-Sweep 标记-清除最大的问题会造成内存碎片,                 但不浪费空间,效率较高(如果对象较多,逐一删除效率也会影响) 2.2标记压缩 (压实)Mark-Compact 分垃圾标记阶段和内存整理阶段。标记阶段找到所有可访问对象打个标记。内存清理阶段时整理时将对象向内存一端移动整理后存活对象连续的集中在内存一端。 标记-压缩算法优点是整理后内存空间连续分配有大段的连续内存可分配没有内存碎片。                         缺点是内存整理过程有消耗,效率相对低 2.3复制 Copying 先将可用内存分为大小相同两块区域A和B每次只用其中一块比如A。当A用完后则将A中存活的对象复制到B。复制到B的时候连续的使用内存最后将A一次性清除干净。 缺点是比较浪费内存只能使用原来一半内存因为内存对半划分了复制过程毕竟也是有代价。优点是没有碎片复制过程中保证对象使用连续空间,且一次性清除所有垃圾,所以效率很高。 2.4 多种算法总结 没有最好的算法,在不同场景选择最合适的算法 效率: 复制算法标记清除算法 标记压缩算法 内存整齐度: 复制算法标记压缩算法 标记清除算法 内存利用率: 标记压缩算法标记清除算法复制算法 2.5 STW 对于大多数垃圾回收算法而言GC线程工作时停止所有工作的线程称为Stop The World。GC 完成时恢复其他工作线程运行。这也是JVM运行中最头疼的问题。 GC 垃圾回收 三、分代堆内存GC策略 3.1堆内存分代 将heap内存空间分为三个不同类别: 年轻代、老年代、持久代 Heap堆内存分为 年轻代YoungYoung Generation 伊甸园区eden: 只有一个,刚刚创建的对象 幸存(存活)区Servivor Space有2个幸存区一个是from区一个是to区。大小相等、地位相同、可互换。 ​ from 指的是本次复制数据的源区 to 指的是本次复制数据的目标区 老年代TenuredOld Generation, 长时间存活的对象 默认空间大小比例: 3.2年轻代回收Minor GC 起始时所有新建对象(特大对象直接进入老年代)都出生在eden当eden满了启动**GC。这个称为Young GC 或者 Minor GC。 先标记eden存活对象然后将存活对象复制到s0假设本次是s0也可以是s1它们可以调换eden剩余所有空间都清空。GC完成。 继续新建对象当eden再次满了启动GC。 先同时标记eden和s0中存活对象然后将存活对象复制到s1。将eden和s0清空,此次GC完成 继续新建对象当eden满了启动GC。 先标记eden和s1中存活对象然后将存活对象复制到s0。将eden和s1清空,此次GC完成以后就重复上面的步骤。 通常场景下,大多数对象都不会存活很久而且创建活动非常多新生代就需要频繁垃圾回收。但是如果一个对象一直存活它最后就在from、to来回复制如果from区中对象复制次数达到阈值(默认15次,CMS为6次,可通过java的选项 -XX:MaxTenuringThresholdN 指定)就直接复制到老年代。 3.3 老年代回收 Major GC 进入老年代的数据较少所以老年代区被占满的速度较慢所以垃圾回收也不频繁。如果老年代也满了,会触发老年代GC,称为Old GC或者 Major GC。 由于老年代对象一般来说存活次数较长所以较常采用标记-压缩算法。 当老年代满时,会触发 Full GC,即对所有代的内存进行垃圾回收 Minor GC比较频繁Major GC较少。但一般Major GC时由于老年代对象也可以引用新生代对象所以先进行一次Minor GC然后在Major GC会提高效率。可以认为回收老年代的时候完成了一次Full GC。所以可以认为 MajorGC FullGC 将heap内存空间分为三个不同类别:年轻代、老年代、持久代 伊甸园区 、新生区域、 进程线程新出生的区域 、新出生的进程和线程不会产生垃圾 heap是重点调优的 四、 java 内存调整相关参数 4.1 JVM 内存常用相关参数 Java 命令行参考文档: https://docs.oracle.com/javase/8/docs/technotes/tools/unix/java.html 初始和最大建议设置一样的大小 垃圾回收 根据进程产生不同时间 对垃圾进行标记 然后执行不同的垃圾回收方法 java是一个命令程序  java 选项如下 选项分类 -选项名称 此为标准选项,所有HotSpot都支持 -X选项名称 为稳定的非标准选项 -XX:选项名称 非标准的不稳定选项下一个版本可能会取消 初始Xms和最大Xmx建议设置一样的大小 有不稳定选项的当前生效值 [rootcentos7 ~]#java -XX:PrintFlagsFinal 查看所有不稳定选项的默认值 [rootcentos7 ~]#java -XX:PrintFlagsInitial 实验                                                                 heap值大概是内存四分之一 [rootzzzcentos1 opt]#java -Xms1024m -Xmx1024m -XX:PrintGCDetails -cp . Heap 如果我们运行tomcat heap调优 4.2Tomcat的JVM参数设置 默认不指定-Xmx大约使用了1/4的内存当前本机内存指定约为1G。 在bin/catalina.sh中增加一行 JAVA_OPTS-server -Xms128m -Xmx512m -XX:NewSize100m -XX:MaxNewSize200m#解释如下 -server服务器模式 -Xms堆内存初始化大小 -Xmx堆内存空间上限 -XX:NewSize新生代空间初始化大小 -XX:MaxNewSize新生代空间最大值 [rootzzzcentos1 opt]#vim /usr//local/tomcat/bin/catalina.sh118行下面添加 JAVA_OPTS-server -Xms512m -Xmx512m -XX:NewSize200m -XX:MaxNewSize300m [rootzzzcentos1 opt]#systemctl restart tomcat.service去浏览器打开状态页查看 4.3tomcat调优参数 Tomcat默认安装下的缺省配置并不适合生产环境它可能会频繁出现假死现象需要重启只有通过不断压测优化才能让它最高效率稳定的运行。优化主要包括三方面分别为操作系统优化内核参数优化Tomcat配置文件参数优化Java虚拟机JVM调优 #Tomcat 配置文件参数优化## 常用的优化相关参数如下 【redirectPort】如果某连接器支持的协议是HTTP当接收客户端发来的HTTPS 443 请求时则转发至此属性定义的 8443 端口。【maxThreads】Tomcat使用线程来处理接收的每个请求这个值表示Tomcat可创建的最大的线程数即支持的最大并发连接数默认值是 200。【minSpareThreads】最小空闲线程数Tomcat 启动时的初始化的线程数表示即使没有人使用也开这么多空线程等待默认值是 10。【maxSpareThreads】最大备用线程数一旦创建的线程超过这个值Tomcat就会关闭不再需要的socket线程。默认值是-1无限制。一般不需要指定。【processorCache】进程缓冲器可以提升并发请求。默认值是200如果不做限制的话可以设置为-1一般采用maxThreads的值或者-1。【URIEncoding】指定 Tomcat 容器的 URL 编码格式网站一般采用UTF-8作为默认编码。【connnectionTimeout】网络连接超时单位毫秒设置为 0 表示永不超时这样设置有隐患的。通常默认 20000 毫秒就可以。【enableLookups】是否反查域名以返回远程主机的主机名取值为true 或 false如果设置为 false则直接返回 IP 地址为了提高处理能力应设置为 false。【disableUploadTimeout】上传时是否使用超时机制。应设置为 true。【connectionUploadTimeout】上传超时时间毕竟文件上传可能需要消耗更多的时间这个根据你自己的业务需要自己调以使Servlet有较长的时间来完成它的执行需要与上一个参数一起配合使用才会生效。【acceptCount】指定当所有可以使用的处理请求的线程数都被使用时可传入连接请求的最大队列长度超过这个数的请求将不予处理默认为 100 个。【maxKeepAliveRequests】指定一个长连接的最大请求数。默认长连接是打开的设置为1时代表关闭长连接为-1时代表请求数无限制【compression】是否对响应的数据进行GZIP压缩off表示禁止压缩on表示允许压缩文本将被压缩、force表示所有情况下都进行压缩默认值为 off压缩数据后可以有效的减少页面的大小一般可以减小 1/3 左右节省带宽。【compressionMinSize】表示压缩响应的最小值只有当响应报文大小大于这个值的时候才会对报文进行压缩如果开启了压缩功能默认值就是 2048。【compressableMimeType】压缩类型指定对哪些类型的文件进行数据压缩。【noCompressionUserAgentsgozilla, traviata】对于以下的浏览器不启用压缩 #如果已经进行了动静分离处理静态页面和图片等数据就不需做 Tomcat 处理也就不要在 Tomcat 中配置压缩了。以上是一些常用的配置参数还有好多其它的参数设置还可以继续深入的优化HTTP Connector 与 AJP Connector 的参数属性值可以参考官方文档的详细说明进行学习。vim /usr/local/tomcat/conf/server.xml ...... Connector port8080 protocolHTTP/11.1 connectionTimeout20000 redirectPort8443 --71行--插入 minSpareThreads50 enableLookupsfalse disableUploadTimeouttrue acceptCount300 maxThreads500 processorCache500 URIEncodingUTF-8 maxKeepAliveRequests100 compressionon compressionMinSize2048 compressableMimeTypetext/html,text/xml,text/javascript,text/css,text/plain,image/gif,image /jpg,image/png/ 记忆几个调优参数对你有好处哦 4.4JDK工具监控使用情况 ①jvisualvm ②OOM的问题原因 JProfiler是一款功能强大的Java开发分析工具它可以快速的帮助用户分析出存在的错误软件还可对需要的显示类进行标记包括了内存的分配情况和信息的视图等 JProfiler官网Java Profiler - JProfiler 查看OOM   out of memory 内存不足 yum -y install xorg-x11-xauth xorg-x11-fonts-* xorg-x11-font-utils xorg-x11-fonts-Type1 这工具不太好用Jprofiler好用收费 堆空间在内存空间 是内存空间的一块特有空间 所有程序都有堆空间 调优重点内存空间 堆空间分类年轻态伊甸区、幸存者区 老年态幸存者区 五、nginxtomcat 反向代理多机器 实验拓朴图 [rootzzzcentos1 ~]#systemctl stop firewalld [rootzzzcentos1 ~]#setenforce 0[rootzzzcentos2 ~]#systemctl stop firewalld [rootzzzcentos2 ~]#setenforce 0 [rootzzzcentos2 ~]#[rootzzzcentos3 ~]#systemctl stop firewalld [rootzzzcentos3 ~]#setenforce 0 3台机器同时关闭防火墙、防护 ①7-1 nginx代理服务器配置 ②7-2和7-3 一起配置 tomcat 服务   7-3时刻关注一下有没打好命令 在部署Tomcat之前要部署好环境JDK因为JDK是Tomcat运行的必要环境 7-2和7-3安装是一样的 ③7-1代理服务器配置 7-2配置页面 7-3配置页面 ④去检测 六、nginxtomcat 反向代理多机器多级代理 实验拓朴图 7-4配置 7-5配置 7-1代理服务器配置 7-4配置 7-5配置 检测下nginx 没问题 7-4配置 7-5配置 去检测
http://www.sczhlp.com/news/175295/

相关文章:

  • 网站后台是什么旅游网站做seo
  • 网站平台网站keywords多少字
  • 傻瓜式网站开发网站怎么做搜索栏
  • mvc网站开发之美seo优化行业
  • 网上商城排行宁波seo博客
  • 2025 年最新三维扫描仪厂家权威推荐排行榜:空间 / 高精度 / 手持激光等类型设备优选企业全解析工业/便携式/拍照式/蓝光三维扫描仪厂家推荐
  • 2025 年上海刑事辩护律师 / 刑事案件律师 / 刑事诉讼律师 / 刑事犯罪律师 / 刑事纠纷律师事务所推荐:徐海燕律师团队专业法律服务
  • 垂起固定翼无人机应用及科技分析
  • 2025 年北京红旗国悦经销商最新推荐排行榜:行业标杆与新锐品牌齐聚,购车选品指南重磅发布北京丰田考斯特/北京红旗国悦12座/北京考斯特4S店/北京丰田柯斯达/北京考斯特商务车经销商推荐
  • LINUX之TCP内核参数解析
  • 做精美ppt网站昆明市网站推广
  • 企业网站设计的方案佛山专业网站开发公司
  • 海南房地产网站西安网站模板建站
  • 网站开发实训内容锦绣江南网站建设
  • 什么类型的网站容易做响应式网站是个坑
  • 零基础网站建设及维护视频课程微信如何绑定网站
  • 萧江做网站一份完整的活动策划书
  • 百度网站建设目标天津建设网站的公司简介
  • 如何做配送网站做民宿注册的网站
  • 网站为什么要seo二手房网站建设及推广方案
  • 版式设计网站有没有做家纺类的网站
  • 怎么做二次元网站源码外贸网站建设书籍
  • 福建坤辕建设工程有限公司网站商城网站 价格
  • 长沙建站模板网站导航设计
  • 邯郸市建设局官方网站教育 高校 网站模板
  • 哈尔滨网络科技公司网站大型门户网站建设包括哪些方面
  • 如何判断网站是否被kwordpress开发官网
  • 优秀策划设计网站朝阳区网站建设
  • 辽宁住房和城乡建设厅网站首页网站建设服务条款
  • 辽阳免费网站建设公司网站定向搜索