一. 引言
性能测试与分析是软件开发过程中介于架构和调整的一个广泛并比较不容易理解的领域,更是一项较为复杂的活动。就像下棋游戏一样,有效
的性能测试和分析只能在一个良好的计划策略和具备了对不可预料事件的处理能力的条件下顺利地完成。一个下棋高手赢得比赛靠的不仅仅是
对游戏规则的认识,更是靠他的自己的能力和不断地专注于分析自己对手的实力来更加有效地利用和发挥规则的作用。同样一个优秀的性能测
试和分析人员将要面对的是来自一个全新的应用程序和环境下带来的整个项目的挑战。本文中作者结合自己的使用经验和参考文档,对Tomcat
性能方面的调整做一简要的介绍,并给出Tomcat性能的测试、分析和调整优化的一些方法。
二. 测量Web服务器的性能
测量web服务器的性能是一项让人感到畏缩的任务,但是我们在这里将给出一些需要注意的地方并且指点你了解其中更多的细节性的内容。它不
像一些简单的任务,如测量CPU的速率或者是测量程序占用CPU的比例,web服务器的性能优化中包括许调整许多变量来达到目标。许多的测量策
略中都包含了一个看似简单的浏览实际上是在向服务器发送大量的请求,我们称之为客户端的程序,来测量响应时间。客户端和服务器端是在
同一台机器上吗?服务器在测试的时候还运行着其它的什么程序吗?客户端和服务器端的通讯是通过局域网,100baseT,10baseT还是使用调制
解调器?客户端是否一直重复请求相同的页面,还是随机地访问不同的页面?(这些影响到了服务缓存的性能)客户端发送请求的有规律的还
是突发的?你是在最终的配置环境下运行服务的还是在调试的配置环境下运行服务的?客户端请求中包含图片还是只有HTML页面?是否有请求
是通过servlets和JSP的,CGI程序,服务端包含(Server-Side Includes ,SSI是一个可以让你使用动态HTML文件的技术)?所有这些都将是
我们要关心的,并且几乎我们不可能精确地把所有的问题都清楚地列出来。
1.压力测试工具
"工欲善其事,必先利其器",压力测试只有借助于一些工具才可得以实施。
大多数web压力测试工具的实现原理都是通过重复的大量的页面请求来模拟多用户对被测系统的并发访问,以此达到产生压力的目的。产生压力
的手段都是通过录制或者是编写压力脚本,这些脚本以多个进程或者线程的形式在客户端运行,这样通过人为制造各种类型的压力,我们可以
观察被测系统在各种压力状况下的表现,从而定位系统瓶颈,作为系统调优的基础。目前已经存在的性能测试工具林林总总,数量不下一百种
,从单一的开放源码的免费小工具如 Aapache 自带的 web 性能测试工具 Apache Benchmark、开源的Jmeter 到大而全的商业性能测试软件如
Mercury 的 LoadRunner 等等。任何性能测试工具都有其优缺点,我们可以根据实际情况挑选用最合适的工具。您可以在这里找到一些web压力
测试工具http://www.softwareqatest.com/qatweb1.html#LOAD
这里我们所使用的工具要支持web应用服务认证才可以,要支持接收发送cookies,不仅如此Tomcat支持多种认证方式,比如基本认证、基于表
单的认证、相互认证和客户端认证,而一些工具仅仅支持HTTP基本认证。真实地模拟用户认证是性能测试工具的一个重要的部分,因为认证机
制将对一个web站点的性能特征产生重要的影响。基于你在产品中使用的不同的认证方式,你需要从上面的工具列表中选择使用这种特性的测试
工具。
Apache Benchmark和http_load是命令行形式的工具,非常易于使用。Apache Benchmark可以模仿单独的URL请求并且重复地执行,可以使用不
同的命令行参数来控制执行迭代的次数,并发用户数等等。它的一个特点是可以周期性地打印出处理过程的信息,而其它工具只能给出一个全
局的报告。
2.压力测试工具介绍
三. 外部环境的调整
在Tomcat和应用程序进行了压力测试后,如果您对应用程序的性能结果不太满意,就可以采取一些性能调整措施了,当然了前提是应用程
序没有问题,我们这里只讲Tomcat的调整。由于Tomcat的运行依赖于JVM,所以在这里我们把Tomcat的调整可以分为两类来详细描述:
外部环境调整
调整非Tomcat组件,例如Tomcat运行的操作系统和运行Tomcat的java虚拟机。
自身调整
修改Tomcat自身的参数,调整Tomcat配置文件中的参数。
下面我们将详细讲解外部环境调整的有关内容,Tomcat自身调整的内容将在第2部分中阐述。
1.JAVA虚拟机性能优化
Tomcat本身不能直接在计算机上运行,需要依赖于硬件基础之上的操作系统和一个java虚拟机。您可以选择自己的需要选择不同的操作系
统和对应的JDK的版本(只要是符合Sun发布的Java规范的),但我们推荐您使用Sun公司发布的JDK。确保您所使用的版本是最新的,因为Sun公
司和其它一些公司一直在为提高性能而对java虚拟机做一些升级改进。一些报告显示JDK1.4在性能上比JDK1.3提高了将近10%到20%。
可以给Java虚拟机设置使用的内存,但是如果你的选择不对的话,虚拟机不会补偿。可通过命令行的方式改变虚拟机使用内存的大小。如
下表所示有两个参数用来设置虚拟机使用内存的大小。
参数
描述
-Xms
JVM初始化堆的大小
-Xmx
JVM堆的最大值
这两个值的大小一般根据需要进行设置。初始化堆的大小执行了虚拟机在启动时向系统申请的内存的大小。一般而言,这个参数不重要。
但是有的应用程序在大负载的情况下会急剧地占用更多的内存,此时这个参数就是显得非常重要,如果虚拟机启动时设置使用的内存比较小而
在这种情况下有许多对象进行初始化,虚拟机就必须重复地增加内存来满足使用。由于这种原因,我们一般把-Xms和-Xmx设为一样大,而堆的
最大值受限于系统使用的物理内存。一般使用数据量较大的应用程序会使用持久对象,内存使用有可能迅速地增长。当应用程序需要的内存超
出堆的最大值时虚拟机就会提示内存溢出,并且导致应用服务崩溃。因此一般建议堆的最大值设置为可用内存的最大值的80%。
Tomcat默认可以使用的内存为128MB,在较大型的应用项目中,这点内存是不够的,需要调大。
Windows下,在文件{tomcat_home}/bin/catalina.bat,Unix下,在文件{tomcat_home}/bin/catalina.sh的前面,增加如下设置:
JAVA_OPTS='-Xms【初始化内存大小】 -Xmx【可以使用的最大内存】'
需要把这个两个参数值调大。例如:
JAVA_OPTS='-Xms256m -Xmx512m'
表示初始化内存为256MB,可以使用的最大内存为512MB。
另外需要考虑的是Java提供的垃圾回收机制。虚拟机的堆大小决定了虚拟机花费在收集垃圾上的时间和频度。收集垃圾可以接受的速度与
应用有关,应该通过分析实际的垃圾收集的时间和频率来调整。如果堆的大小很大,那么完全垃圾收集就会很慢,但是频度会降低。如果你把
堆的大小和内存的需要一致,完全收集就很快,但是会更加频繁。调整堆大小的的目的是最小化垃圾收集的时间,以在特定的时间内最大化处
理客户的请求。在基准测试的时候,为保证最好的性能,要把堆的大小设大,保证垃圾收集不在整个基准测试的过程中出现。
如果系统花费很多的时间收集垃圾,请减小堆大小。一次完全的垃圾收集应该不超过 3-5 秒。如果垃圾收集成为瓶颈,那么需要指定代的
大小,检查垃圾收集的详细输出,研究垃圾收集参数对性能的影响。一般说来,你应该使用物理内存的 80% 作为堆大小。当增加处理器时,
记得增加内存,因为分配可以并行进行,而垃圾收集不是并行的。
[NextPage]
2.操作系统性能优化
这里说的操作系统是指运行web服务器的系统软件,当然,不同的操作系统是为不同的目的而设计的。比如OpenBSD是面向安全的,因此在
它的内核中有许多的限制来防止不同形式的服务攻击(OpenBSD的一句座右铭是"默认是最安全的")。这些限制或许更多地用来运行活跃的we
b服务器。
而我们常用的Linux操作系统的目标是易用使用,因此它有着更高的限制。使用BSD内核的系统都带有一个名为"Generic"的内核,表明所
有的驱动器都静态地与之相连。这样就使系统易于使用,但是如果你要创建一个自定义的内核来加强其中某些限制,那就需要排除不需要的设
备。Linux内核中的许多驱动都是动态地加载的。但是换而言之,内存现在变得越来越便宜,所以因为加载额外的设备驱动就显得不是很重要的
。重要的是要有更多的内存,并且在服务器上腾出更多的可用内存。
小提示:虽然现在内存已经相当的便宜,但还是尽量不要购买便宜的内存。那些有牌子的内存虽然是贵一点,但是从可靠性上来说,性价
比会更高一些。
如果是在Windows操作系统上使用Tomcat,那么最好选择服务器版本。因为在非服务器版本上,最终用户授权数或者操作系统本身所能承受
的用户数、可用的网络连接数或其它方面的一些方面都是有限制的。并且基于安全性的考虑,必须经常给操作系统打上最新的补丁。
3.Tomcat与其它web服务器整合使用
虽然tomcat也可以作web服务器,但其处理静态html的速度比不上apache,且其作为web服务器的功能远不如apache,因此我们想把apache和to
mcat集成起来,将html与jsp的功能部分进行明确分工,让tomcat只处理jsp部分,其它的由apache,IIS等这些web服务器处理,由此大大节省了
tomcat有限的工作"线程"。
4.负载均衡
在负载均衡的思路下,多台服务器为对称方式,每台服务器都具有同等的地位,可以单独对外提供服务而无须其他服务器的辅助。通过负
载分担技术,将外部发送来的请求按一定规则分配到对称结构中的某一台服务器上,而接收到请求的服务器都独立回应客户机的请求。
提供服务的一组服务器组成了一个应用服务器集群(cluster),并对外提供一个统一的地址。当一个服务请求被发至该集群时,根据一定规
则选择一台服务器,并将服务转定向给该服务器承担,即将负载进行均衡分摊。
通过应用负载均衡技术,使应用服务超过了一台服务器只能为有限用户提供服务的限制,可以利用多台服务器同时为大量用户提供服务。
当某台服务器出现故障时,负载均衡服务器会自动进行检测并停止将服务请求分发至该服务器,而由其他工作正常的服务器继续提供服务,从
而保证了服务的可靠性。
负载均衡实现的方式大概有四种:第一是通过DNS,但只能实现简单的轮流分配,不能处理故障,第二如果是基于MS IIS,Windows 2003
server本身就带了负载均衡服务,第三是硬件方式,通过交换机的功能或专门的负载均衡设备可以实现,第四种是软件方式,通过一台负载均
衡服务器进行,上面安装软件。使用Apache Httpd Server做负载平衡器,Tomcat集群节点使用Tomcat就可以做到以上第四种方式。这种方式比
较灵活,成本相对也较低。另外一个很大的优点就是可以根据应用的情况和服务器的情况采取一些策略。
[NextPage]
四. 自身调整
本节将向您详细介绍一些加速可使Tomcat实例加速运行的技巧和方法,无论是在什么操作系统或者何种Java虚拟机上。在有些情况下,您
可能没有控制部署环境上的操作系统或者Java虚拟机。在这种情况下,您就需要逐行了解以下的的一些建议,然而你应该在修改后使之生效。
我认为以下方法是Tomcat性能自身调整的最佳方式。
1.禁用DNS查询
当web应用程序向要记录客户端的信息时,它也会记录客户端的IP地址或者通过域名服务器查找机器名转换为IP地址。DNS查询需要占用网
络,并且包括可能从很多很远的服务器或者不起作用的服务器上去获取对应的IP的过程,这样会消耗一定的时间。为了消除DNS查询对性能的影
响我们可以关闭DNS查询,方式是修改server.xml文件中的enableLookups参数值:
Tomcat4
redirectPort=8443 acceptCount=100 debug=0 connectionTimeout=20000 useURIValidationHack=false disableUploadTimeout=true /
Tomcat5
debug=0 connectionTimeout=20000 disableUploadTimeout=true/
除非你需要连接到站点的每个HTTP客户端的机器名,否则我们建议在生产环境上关闭DNS查询功能。可以通过Tomcat以外的方式来获取机器
名。这样不仅节省了网络带宽、查询时间和内存,而且更小的流量会使日志数据也会变得更少,显而易见也节省了硬盘空间。对流量较小的站
点来说禁用DNS查询可能没有大流量站点的效果明显,但是此举仍不失为一良策。谁又见到一个低流量的网站一夜之间就流量大增呢?
2.调整线程数
另外一个可通过应用程序的连接器(Connector)进行性能控制的的参数是创建的处理请求的线程数。Tomcat使用线程池加速响应速度来处
理请求。在Java中线程是程序运行时的路径,是在一个程序中与其它控制线程无关的、能够独立运行的代码段。它们共享相同的地址空间。多
线程帮助程序员写出CPU最大利用率的高效程序,使空闲时间保持最低,从而接受更多的请求。
Tomcat4中可以通过修改minProcessors和maxProcessors的值来控制线程数。这些值在安装后就已经设定为默认值并且是足够使用的,但是
随着站点的扩容而改大这些值。minProcessors服务器启动时创建的处理请求的线程数应该足够处理一个小量的负载。也就是说,如果一天内每
秒仅发生5次单击事件,并且每个请求任务处理需要1秒钟,那么预先设置线程数为5就足够了。但在你的站点访问量较大时就需要设置更大的线
程数,指定为参数maxProcessors的值。maxProcessors的值也是有上限的,应防止流量不可控制(或者恶意的服务攻击),从而导致超出了虚
拟机使用内存的大小。如果要加大并发连接数,应同时加大这两个参数。web server允许的最大连接数还受制于操作系统的内核参数设置,通
常Windows是2000个左右,Linux是1000个左右。
在Tomcat5对这些参数进行了调整,请看下表:
属性名
描述
maxThreads
Tomcat使用线程来处理接收的每个请求。这个值表示Tomcat可创建的最大的线程数。
acceptCount
指定当所有可以使用的处理请求的线程数都被使用时,可以放到处理队列中的请求数,超过这个数的请求将不予处理。
connnectionTimeout
网络连接超时,单位:毫秒。设置为0表示永不超时,这样设置有隐患的。通常可设置为30000毫秒。
minSpareThreads
Tomcat初始化时创建的线程数。
maxSpareThreads
一旦创建的线程超过这个值,Tomcat就会关闭不再需要的socket线程。
最好的方式是多设置几次并且进行测试,观察响应时间和内存使用情况。在不同的机器、操作系统或虚拟机组合的情况下可能会不同,而
且并不是所有人的web站点的流量都是一样的,因此没有一刀切的方案来确定线程数的值。
[NextPage]
3.加速JSP编译速度
当第一次访问一个JSP文件时,它会被转换为Java serverlet源码,接着被编译成Java字节码。你可以控制使用哪个编译器,默认情况下,
Tomcat使用使用命令行javac进行使用的编译器。也可以使用更快的编译器,但是这里我们将介绍如何优化它们。
另外一种方法是不要把所有的实现都使用JSP页面,而是使用一些不同的java模板引擎变量。显然这是一个跨越很大的决定,但是事实证明
至少这种方法是只得研究的。如果你想了解更多有关在Tomcat可使用的模板语言,你可以参考Jason Hunter和William Crawford合著的《Java
Servlet Programming 》一书(O'Reilly公司出版)。
在Tomcat
4.0中可以使用流行而且免费的Jikes编译器。Jikes编译器的速度要由于Sun的Java编译器。首先要安装Jikes(可访问http://oss.software.ib
m.com/pub/jikes 获得更多的信息),接着需要在环境变量中设置JIKESPATH包含系统运行时所需的JAR文件。装好Jikes以后还需要设置让JSP
编译servlet使用Jikes,需要修改web.xml文件中jspCompilerPlugin的值:
jsp
org.apache.jasper.servlet.JspServlet
logVerbosityLevel
WARNING
jspCompilerPlugin
org.apache.jasper.compiler.JikesJavaCompiler
classpath
/usr/local/jdk1.3.1-linux/jre/lib/rt.jar:
/usr/local/lib/java/servletapi/servlet.ja
r
3
分享到:
相关推荐
系统通过提供详尽的热门景点、客房类型、酒店信息、美食类型、特色美食、文创产品及导游服务,使游客能够深入了解古城的历史与文化。该系统集成了导游预约、景点类型、热门景点、门票订单、客房类型、酒店信息、酒店预订、美食类型、特色美食等模块,使得管理人员可以实时监控游客流量、维护设施安全,并通过数据洞察来优化运营策略。系统支持在线订票、智能推荐路线等功能,为游客带来便捷的旅行体验,也帮助管理者更有效地保护和利用文化遗产资源。
深入探讨:ADRC自抗扰控制技术与先进PID算法的比较研究,探索现代控制技术:ADRC PID自抗扰控制算法的先进性与应用,ADRC PID自抗扰控制(ADRC)当前最先进PID算法 ,ADRC; 自抗扰控制; 先进PID算法,先进自抗扰控制:ADRC PID算法的实践与应用
技术选型 【后端】:Java 【框架】:springboot/ssm 【前端】:小程序 【JDK版本】:JDK1.8 【服务器】:tomcat7+ 【数据库】:mysql 5.7+ 资源包含项目源码+数据库脚本+万字文档。 项目包含前后台完整源码,都经过本人调试,确保可以正常运行! 具体项目介绍可查看博主文章或私聊获取。 也可提供远程调试、二次开发、项目讲解服务,有意向可私聊。 助力学习实践,提升编程技能,快来获取这份宝贵的资源吧!
技术选型 【后端】:Java 【框架】:springboot/ssm 【前端】:小程序 【JDK版本】:JDK1.8 【服务器】:tomcat7+ 【数据库】:mysql 5.7+ 压缩包包含项目源码+数据库脚本+万字文档。 项目包含前后台完整源码,都经过本人调试,确保可以正常运行! 具体项目介绍可查看博主文章或私聊获取。 也可提供远程调试、二次开发、项目讲解服务,有意向可私聊。 助力学习实践,提升编程技能,快来获取这份宝贵的资源吧!
该项目是对HyperLPR 2018-06-06版本的Python克隆设计源码,包含499个文件,涵盖CMake、TXT、C++、Python、Java、HTML等多种语言,包括70个CMake文件、59个TXT文件、40个C++文件、36个PNG图片文件等,旨在实现与原HyperLPR项目相似的功能。
薅羊毛拼团商城小程序v2.8.6+前端 1、怎么玩? 多人拼团,部分人获得得商品,没获得商品的人退款并瓜分红包,红包佣金从获得商品的人的订单利润里返。 2、参与拼团的人需要支付多少钱? 每个人需要支付商品规定的卖价金额,一元购模式的大家分担模式不一样。 3、用户那么积极拼团还不一定能得到,就表明这个产品肯定很便宜,远玩低于市场价。那个这利产品利润还有吗?有得利润还要抽出一部份来发红包? 商品定价由平台定,市场都是由于信息不透明,拼多多上的商品已经买很便宜的,但是商家还在一直做优惠券和花钱打广告,说明产品利润空间不小,平台算好利润空间就行;对于积极拼团没获得商品的说法,举个例子:你很想要一个商品,拼团失败还能领红包,而且可以无数次拼团,拼的次数多了我一定会拿到商品的,还能领红包。 4、平台怎么获利? 获取商品的用户订单抽佣。
纯电动车VCU控制策略模型详解:基于量产模型的完整控制策略模块分析,纯电动车VCU控制策略模型详解:量产控制策略模块全解析,纯电动车VCU控制策略模型 量产模型,包含纯电动汽车完整控制策略模块,详细见图片。 没有说明文档,模型结构清楚,容易理解。 ,核心关键词:纯电动车;VCU控制策略模型;量产模型;完整控制策略模块;模型结构;易理解。,纯电动VCU控制策略量产模型,一图看懂电动车控制逻辑。
基于FPGA的FIR数字滤波器设计(使用quartus与vivado程序设计及仿真指南),基于FPGA的FIR数字滤波器设计:从MATLAB系数生成到仿真成功的全面指南,含quartus和vivado程序设计及波形视频,基于FPGA的FIR数字滤波器设计(quartus和vivado程序都有)。 附: 1.配套quartus从MATLAB系数生成直到仿真成功说明文档。 2.配套仿真出波形的视频。 ,FPGA; FIR数字滤波器设计; quartus; vivado程序; MATLAB系数生成; 仿真成功说明文档; 仿真波形视频。,基于FPGA的FIR数字滤波器设计:Quartus与Vivado实现与MATLAB系数转换仿真视频指南
技术选型 【后端】:Java 【框架】:springboot/ssm 【前端】:小程序 【JDK版本】:JDK1.8 【服务器】:tomcat7+ 【数据库】:mysql 5.7+ 压缩包包含项目源码+数据库脚本+万字文档。 项目包含前后台完整源码,都经过本人调试,确保可以正常运行! 具体项目介绍可查看博主文章或私聊获取。 也可提供远程调试、二次开发、项目讲解服务,有意向可私聊。 助力学习实践,提升编程技能,快来获取这份宝贵的资源吧!
项目工程资源经过严格测试运行并且功能上ok,可复现复刻,拿到资料包后可实现复刻出一样的项目,本人系统开发经验充足(全栈),有任何使用问题欢迎随时与我联系,我会及时为您解惑,提供帮助 【资源内容】:包含源码、工程文件、说明等。资源质量优质,放心下载使用!可实现复现;设计报告可借鉴此项目;该资源内项目代码都经过测试运行,功能ok 【项目价值】:可用在相关项目设计中,皆可应用在项目、毕业设计、课程设计、期末/期中/大作业、工程实训、大创等学科竞赛比赛、初期项目立项、学习/练手等方面,可借鉴此优质项目实现复刻,设计报告也可借鉴此项目,也可基于此项目来扩展开发出更多功能 【提供帮助】:有任何使用上的问题欢迎随时与我联系,及时抽时间努力解答解惑,提供帮助 【附带帮助】:若还需要相关开发工具、学习资料等,我会提供帮助,提供资料,鼓励学习进步 质量优质,放心下载使用。下载后请首先打开说明文件(如有);项目工程可实现复现复刻,如果基础还行,也可在此程序基础上进行修改,以实现其它功能。供开源学习/技术交流/学习参考,网络商品/电子资源资料,勿用于商业用途。质量优质,放心下载使用。
基于PMSM永磁同步电机无位置传感器FOC控制策略的SVPWM调制与双闭环PI调节器自建仿真模型在Matlab Simulink中的实现与应用,基于PMSM永磁同步电机无位置传感器FOC控制策略的SVPWM调制与双闭环PI调节器自建仿真模型在Matlab Simulink平台搭建与应用,PMSM永磁同步电机矢量控制无位置传感器无传感器foc自建仿真模型,使用SVPWM调制,使用pi调节器,包括电流控制环和转速控制环双闭环控制调节,基于matlab simulink搭建 ,PMSM; 永磁同步电机; 矢量控制; 无位置传感器; 无传感器FOC; SVPWM调制; Pi调节器; 双闭环控制; Matlab Simulink仿真模型。,PMSM无传感器FOC矢量控制双闭环仿真模型
开源风机控制代码,基于国产MCU与龙博格电机观测器,含SVPWM与多段式调制源码,原理图与详细注释,可移植到其他MCU平台,基于国产MCU芯片的全开源无感FOC风机控制代码,含龙博格电机观测器及SVPWM调制技术,全开源代码,无感FOC控制风机代码 全开源代码,代码基于国产MCU芯片,大厂成熟风机量产程序,龙博格电机观测器观测角度,SVPWM,支持顺逆风启动,五段式与七段式调制等源码。 国产大部分芯片通用,不是一般代码可比的。 是资料,不是实物 包含原理图和程序源代码,程序部分有注释和说明,全开源代码,支持移植到其它的MCU平台。 ,全开源代码; 无感FOC控制; 国产MCU芯片; 成熟风机量产程序; 龙博格电机观测器; SVPWM; 顺逆风启动; 五段式与七段式调制; 通用; 移植; 原理图; 程序源代码。,全开源国产MCU风控系统代码:支持五七段调制、顺逆风启动,可移植至多平台
电动汽车备用能力的市场机制分析与策略优化:实例探讨充电合约、电价响应及市场设计对备用能力的影响,电动汽车备用能力的评估:考虑市场机制与用户响应的充电策略与案例分析,电动汽车备用能力分析 对电动汽车备用能力的评估需置于合理的、计及用户响应意愿的市场机制下来考察。 首先设计出兼顾系统调控需求与用户出行需求的充(放)电合约机制,提出了EV短时备用能力计算方法和响应电价变化的有序充/放电策略。 基于上述模型或方法,实例分析了典型EV单体及集群在不同充电策略下,向电网提供多种可调控备用容/电量产品的能力。 同时进一步分析了备用容量价格、备用市场设计等因素对eV可申报备用容量的影响。 ,电动汽车备用能力分析; 用户响应意愿; 充放电合约机制; EV短时备用能力计算方法; 充电策略; 电网备用容/电量产品; 备用容量价格; 备用市场设计。,电动汽车备用能力评估与市场机制研究
基于Matlab的裂缝检测GUI系统:直方均衡化、滤波去噪、对比度增强、二值化及裂缝识别处理,参数显示与Excel数据保存,基于MATLAB的裂缝检测GUI系统:图像均衡化、去噪与二值化,裂缝识别与参数化保存至Excel报告处理软件。,基于matlab的裂缝检测系统GUI,对图像进行直方均衡化处理,中值滤波法去噪处理,亮化增强对比度,图像二值化,对二值图像进行滤波处理,裂缝识别,裂缝判断,裂缝拼接,裂缝投影,用方框将裂缝标记出来,显示裂缝参数,保存裂缝图像,保存裂缝参数数据到excel中。 ,基于Matlab的裂缝检测系统GUI; 直方均衡化处理; 中值滤波去噪; 亮化增强对比度; 图像二值化; 裂缝识别与判断; 裂缝拼接与投影; 标记与显示裂缝; 保存裂缝图像与参数; 保存至Excel。,基于Matlab的裂缝检测系统:图像处理与参数分析GUI工具
KPCA核主成分分析方法:高效降低数据维度,提升MATLAB程序运行效率的指导服务,KPCA核主成分分析法:MATLAB程序中的高维数据降维与特征选择指导服务,KPCA核主成分分析法MATLAB, 主要是降低数据维度。 当输入数据维度太大的时候,程序运行会很慢,所以适当由高维度转成低维度是有必要的。 可指定成分数或累计贡献度进行特征选择 提供指导服务 (所程序均有详细注释) ,KPCA; 降维; 程序运行速度; 成分数; 累计贡献度; 特征选择; 详细注释,KPCA降维算法在MATLAB中的实践:高效处理高维数据
数控加工编程技术试题库及答案.doc
项目工程资源经过严格测试运行并且功能上ok,可复现复刻,拿到资料包后可实现复刻出一样的项目,本人系统开发经验充足(全栈),有任何使用问题欢迎随时与我联系,我会及时为您解惑,提供帮助 【资源内容】:包含源码、工程文件、说明等。资源质量优质,放心下载使用!可实现复现;设计报告可借鉴此项目;该资源内项目代码都经过测试运行,功能ok 【项目价值】:可用在相关项目设计中,皆可应用在项目、毕业设计、课程设计、期末/期中/大作业、工程实训、大创等学科竞赛比赛、初期项目立项、学习/练手等方面,可借鉴此优质项目实现复刻,设计报告也可借鉴此项目,也可基于此项目来扩展开发出更多功能 【提供帮助】:有任何使用上的问题欢迎随时与我联系,及时抽时间努力解答解惑,提供帮助 【附带帮助】:若还需要相关开发工具、学习资料等,我会提供帮助,提供资料,鼓励学习进步 质量优质,放心下载使用。下载后请首先打开说明文件(如有);项目工程可实现复现复刻,如果基础还行,也可在此程序基础上进行修改,以实现其它功能。供开源学习/技术交流/学习参考,网络商品/电子资源资料,勿用于商业用途。质量优质,放心下载使用。
资源包含:源码、数据库sql文件、演示视频、运行截图。运行环境:前端:node、vue2,后端:jdk1.8,数据库:postgresql 11、postgis 3.2.0, 详细介绍参考:https://biyezuopinvip.blog.csdn.net/article/details/145472566
内容概要:本文介绍了设计和实现一个简单但完整的项目资源管理系统的思路与具体方法,旨在帮助企业更好地管理员工、设备以及任务等多项资源。主要讲述了四个方面的内容:一是对项目的详细需求进行细致划分,确定了需要覆盖的范围(从人员到硬件)。二是针对这一目标构建相应的架构设计方案,不仅涉及到了关系型数据库选型和表格字段设定,并提出了Python面向对象编程的思想。三是在第三部分给出了一份精简有效的代码案例展示整个系统运作方式,并强调关键点所在。四是探讨可能存在的改进方向,比如UI层的引入和数据分析模块的功能增强。
三相桥式全控整流电路仿真解析:涵盖6脉波与12脉波整流,电压电流波形仿真及FFT谐波频谱分析,三相桥式全控整流电路仿真解析:涵盖6脉波与12脉波整流,电压电流波形仿真及FFT谐波频谱分析,三相桥式全控整流电路仿真模型 包括6脉波整流电路(sixmaibo.slx)与12脉波整流电路(double12maibo.slx) 包括 三相全控整流电路输入电压、电流仿真波形 三相全控整流电路输出电压、电流仿真波形 交流侧输入电流进行FFT傅里叶谐波频谱分析 【内有文档解析原理,结果分析】 ,三相桥式全控整流电路; 6脉波整流电路; 12脉波整流电路; 输入电压电流仿真波形; 输出电压电流仿真波形; FFT傅里叶谐波频谱分析; 文档解析原理; 结果分析。,三相桥式全控整流电路仿真:六脉波与十二脉波分析对比及结果解析