elasticsearch 优化思路

领到说:小张,今天你把es的检索速度优化到一秒以内再下班!

我(心想):今天回不了家了。

领导又说:小张,你怎么一个星期都没回家了?

我:...

 

不想做调优的开发人员,就不是好的开发人员!

在使用elasticsearch的过程中,一定会遇到elasticsearch检索速度慢的问题,那为什么别人的就是秒级别返回结果,咱们的系统就是好多个秒才返回呢!

其中关于elasticsearch 的调优思路:包含但不限于:Nested慢查询、集群查询慢、range查询慢等问题。

看看大家关注的问题

image.png

1、两个维度

每当我们得到这些类型的问题时,我们首先要深入研究两个主要方面:

  • 配置维度 - 查看当前系统资源和默认Elasticsearch选项。
  • 开发维度 - 查看查询,其结构以及要搜索的数据的映射(Mapping)。

我们将首先关注开发方面的问题。 我们将获得慢查询,讨论DSL查询语言,并查看有助于改进Elasticsearch查询的小型常规选项。

2、开发维度—你的查询有多慢?

第一步是查看发送到群集的查询所花费的时间。 在研究如何打开慢速日志时,Elasticsearch文档可能有点不清楚,因此我将在下面展示一些示例。

  • 首先,Elasticsearch中有两个版本的慢速日志:索引慢速日志(index slow logs )和搜索慢速日志( search slow logs)。
    由于我们试图解决的问题涉及慢查询,我们将专注于搜索慢速日志。 但是,如果在索引文档/添加文档时问题解决了性能问题,那么我们将查看索引慢速日志。

默认情况下,所有版本的Elasticsearch都会关闭慢速日志,因此您必须对群集设置和索引设置进行一些更新。
这些示例适用于使用elasticsearch 6.2,但您可以在此处找到所有以前的版本。
只需将$ES_version替换为您正在使用的版本,
例如5.5版本设置官网参考:http://t.cn/E7Hq2NG

向_cluster API发送放置请求以定义要打开的慢速日志级别:警告,信息,调试和跟踪。 (有关日志记录级别的更多信息参考:http://t.cn/E7Hqc5e。)

curl -XPUT http://localhost:$ES_PORT/_cluster/settings -H ‘Content-Type: application/json’ -d’
{
"transient" : {
"logger.index.search.slowlog" : "DEBUG",
"logger.index.indexing.slowlog" : "DEBUG"
}
}'
  • 所有慢速日志记录都在索引级别启用,因此您可以再次向index _settings API发送请求以打开,但如果您每月,每季度等都在滚动更新索引,则还必须添加到索引模板中。
  • 将API调用调整为索引设置以匹配您想要命中的慢日志时间阈值。 (您可以设置为0s以分析实例并收集正在发送的所有查询,并设置为-1以关闭慢速日志。)
    使用您在_clustersettings中选择使用的日志级别设置。 在这个例子中,“DEBUG”。

ES_PORT是一个持久的环境变量。

curl -XPUT http://localhost:$ES_PORT/*/_settings?pretty -H 'Content-Type: application/json' -d 
'{"index.search.slowlog.threshold.query.debug": "-1",
 "index.search.slowlog.threshold.fetch.debug": "-1",}'
  • 现在,您需要收集日志。 每个分片生成慢速日志并按数据节点收集。 如果您只有一个包含五个主分片的数据节点(这是默认值),您将在慢速日志中看到一个查询的五个条目。 由于Elasticsearch中的搜索发生在每个分片中,因此每个分片都会看到一个。 每个数据节点存储慢速日志,默认情况如下
location:/ var / log / elasticsearch / $ClusterID_index_slowlog_query
和 / var / log / elasticsearch / $ClusterID_index_slowlog_fetch。

如您所见,搜索慢速日志再次根据搜索阶段分解为单独的日志文件:获取(fetch)和查询(query)。
现在我们在日志中有结果,我们可以拉入一个条目并将其分开。

[2018-05-21T12:35:53,352][DEBUG ][index.search.slowlog.query] 
[DwOfjJF] [blogpost-slowlogs][4] took[1s], took_millis[0], types[], 
stats[], search_type[QUERY_THEN_FETCH], total_shards[5], 
source[{"query":{"match":{"name":{"query":"hello world",
 "operator":"OR","prefix_length":0,"max_expansions":50,
"fuzzy_transpositions" :true,"lenient":false,"zero_terms_query":
 "NONE","boost":1.0}}},"sort":[{"price": {"order":"desc"}}]}], 

在这里,您看到:

 1. 日期
 2. 时间戳 
 3. 日志级别 
 4. 慢速类型 
 5. 节点名称 
 6. 索引名称 
 7. 分片号 
 8. 时间花费 
 9. 查询的主体(_source>)

一旦我们获得了我们认为花费的时间太长的查询,我们就可以使用一些工具来分解查询:

工具1:Profile API
Profile API提供有关搜索的信息页面,并分解每个分片中发生的情况,直至每个搜索组件(match/range/match_phrase等)的各个时间。 搜索越详细,_profile输出越详细。

工具2:The Kibana profiling 工具
这与_profileAPI密切相关。 它提供了各个搜索组件的完美的可视化效果表征各个分解阶段以及各阶段查询的时间消耗。 同样,这允许您轻松选择查询的问题区域。

image.png

3、开发维度—Elasticsearch的查询原理

现在我们已经确定了一个很慢的查询,我们通过一个分析器profile来运行它。 但是,查看单个组件时间结果并未使搜索速度更快。 怎么办?

通过两个阶段(下面)了解查询的工作原理,允许您以从速度和相关性方面获得Elasticsearch最佳结果的方式重新设计查询。

image.png

3.1 Query阶段

  • 路由节点接受该查询。
  • 路由节点识别正在搜索的索引(或多个索引)。
  • 路由节点生成一个节点列表,其中包含索引的分片(主要和副本的混合)。
  • 路由节点将查询发送到节点(上一步节点列表列出的节点)。
  • 节点上的分片处理查询。
  • 查询(默认情况下)对前10个文档进行评分。
  • 该列表将发送回路由节点。

3.2 fetch阶段

获取阶段由路由节点开始,路由节点确定每个分片发送的50个(5个分片×10个结果)结果中的前10个文档。
路由节点向分片发出对前10个文档的请求。 (可能是包含最高得分文档的一个分片,或者它们可能分散在多个分片中。)

返回列表后,主节点会在查询响应的_hits部分中显示文档。

4、开发维度—filter过滤器查询优化

结果分数是Elasticsearch的关键。 通常,当您使用搜索引擎时,您需要最准确的结果。 例如,如果您正在搜索“苹果”,您不希望结果包括“苹果手机”。
Elasticsearch根据您提供的参数对查询结果进行评分。
虽然查询相关性不是本篇文章的重点,但重要的是在此提及,因为如果您有快速搜索需求但结果不是您要查找的结果,则整个搜索都是浪费时间。
那么,你如何加快搜索速度?

4.1 查询时,使用query-bool-filter组合取代普通query

提高搜索性能的一种方法是使用过滤器。 过滤后的查询可能是您最需要的。
首先过滤是很重要的,因为搜索中的过滤器不会影响文档分数的结果,因此您在资源方面使用很少的资源来将搜索结果范围缩小到很小。
使用过滤查询,结合使用布尔匹配,您可以在评分之前搜索包含X的所有文档,或者不包含Y的所有文档。此外,可以filter是可以被缓存的。
过滤器filter查询不是加速Elasticsearch查询的唯一方法。

【from腾讯】默认情况下,ES通过一定的算法计算返回的每条数据与查询语句的相关度,并通过score字段来表征。
但对于非全文索引的使用场景,用户并不care查询结果与查询条件的相关度,只是想精确的查找目标数据。
此时,可以通过query-bool-filter组合来让ES不计算score,
并且尽可能的缓存filter的结果集,供后续包含相同filter的查询使用,提高查询效率。

filter原理推荐阅读:吃透 | Elasticsearch filter和query的不同

5、开发维度——其他优化

5.1 避免使用script查询

避免使用脚本查询来计算匹配。 推荐:建立索引时存储计算字段。

例如,我们有一个包含大量用户信息的索引,我们需要查询编号以“1234”开头的所有用户。
您可能希望运行类似“source”的脚本查询:“doc [‘num’]。value.startsWith(‘1234’)。”
此查询非常耗费资源并且会降低整个系统的速度。 合理的建议:考虑在索引时添加名为“num_prefix”的字段。
然后我们可以查询“name_prefix”:“1234”。

5.2 避免使用wildcard查询

主要原因
wildcard类似mysql中的like,和分词完全没有了关系。

出现错误
用户输入的字符串长度没有做限制,导致首尾通配符中间可能是很长的一个字符串。 后果就是对应的wildcard Query执行非常慢,非常消耗CPU。

根本原因
为了加速通配符和正则表达式的匹配速度,Lucene4.0开始会将输入的字符串模式构建成一个DFA (Deterministic Finite Automaton),带有通配符的pattern构造出来的DFA可能会很复杂,开销很大。

可能的优化方案

  1. wildcard query应杜绝使用通配符打头,实在不得已要这么做,就一定需要限制用户输入的字符串长度。
  2. 最好换一种实现方式,通过在index time做文章,选用合适的分词器,比如nGram tokenizer预处理数据,然后使用更廉价的term query来实现同等的模糊搜索功能。
  3. 对于部分输入即提示的应用场景可以考虑优先使用completion suggester, phrase/term/suggeter一类性能更好,模糊程度略差的方式查询,待suggester没有匹配结果的时候,再fall back到更模糊但性能较差的wildcard, regex, fuzzy一类的查询。
    详尽原理参考:https://elasticsearch.cn/article/171

5.3 合理使用keyword类型

ES5.x里对数值型字段做TermQuery可能会很慢。

在ES5.x+里,一定要注意数值类型是否需要做范围查询,看似数值,但其实只用于Term或者Terms这类精确匹配的,应该定义为keyword类型。

典型的例子就是索引web日志时常见的HTTP Status code。

详尽原理参考:https://elasticsearch.cn/article/446

5.4 控制字段的返回

一是:数据建模规划的时候,在Mapping节点对于仅存储、是否构建倒排索引通过enabled、index参数进行优化。
二是:_source控制返回,不必要的字段不需要返回,举例:采集的原文章详情内容页,根据需要决定是否返回。

5.5 让Elasticsearch干它擅长的事情

在检索/聚合结果后,业务系统还有没有做其他复杂的操作,花费了多少时间?
这块是最容易忽视的时间耗费担当。

Elasticsearch显然更擅长检索、全文检索,其他不擅长的事情,尽量不要ES处理。比如:频繁更新、确保数据的ACID特性等操作。

6、配置维度——核心配置

6.1 节点职责明晰

区分路由节点、数据节点、候选主节点。
路由节点的主要优点是:

1.由于路由节点减少了搜索和聚合的压力,因此数据节点上的内存压力略有降低;
2.“智能路由”——因为他们知道所有数据存在的地方,他们可以避免额外的跳跃;“智能路由”——因为他们知道所有数据存在的地方,他们可以避免额外的跳跃;
3.从架构上讲,将路由节点用作集群的访问点非常有用,因此您的应用程序无需了解详细信息。 从架构上讲,将路由节点用作集群的访问点非常有用,因此您的应用程序无需了解详细信息。

尽量将主节点与数据节点分开,因为它将减少所有群集的负载。
以下时间开始考虑专用主节点:

1.群集大小开始变得难以驾驭,可能像10个节点或更高?
2.您会看到由于负载导致集群不稳定(通常由内存压力引起,导致长GC,导致主节点暂时从集群中退出)您会看到由于负载导致集群不稳定(通常由内存压力引起,导致长GC,导致主节点暂时从集群中退出)

分离主节点的主要目的是使“主节点的职责”与负载隔离,因为高负载可能导致长GC,从而导致集群不稳定。

分离主节点后,一个高负载的集群只会影响数据节点(显然仍然不好),但能保证主节点稳定,一旦集群超载,基本上专门的主节点给你喘息的空间,而不是整个集群走向崩溃。

另外,与数据节点相比,主节点通常可以非常“轻”。几GB的RAM,中等CPU,普通磁盘等或许就能满足需求(需要根据实际业务场景权衡)。

推荐阅读:http://t.cn/E7HM4ML

6.2 分配合理的堆内存

搜索引擎旨在快速提供答案。 为此,他们使用的大多数数据结构必须驻留在内存中。 在很大程度上,他们假设你为他们提供了足够的记忆。 如果不是这种情况,这可能会导致问题 - 不仅仅是性能问题,还有集群的可靠性问题。

合理的堆内存大小配置建议:宿主机内存大小的一半和31GB,取最小值

推荐阅读:https://blog.csdn.net/laoyang360/article/details/79998974

6.3 设置合理的分片数和副本数

  1. shard数量设置过多或过低都会引发一些问题。

shard数量过多,则批量写入/查询请求被分割为过多的子写入/子查询,导致该index的写入、查询拒绝率上升;
对于数据量较大的index,当其shard数量过小时,无法充分利用节点资源,造成机器资源利用率不高 或 不均衡,影响写入/查询的效率。

对于每个index的shard数量,可以根据数据总量、写入压力、节点数量等综合考量后设定,然后根据数据增长状态定期检测下shard数量是否合理。

腾讯基础架构部数据库团队的推荐方案是:

  1. 对于数据量较小(100GB以下)的index,往往写入压力查询压力相对较低,一般设置3~5个shard,副本设置为1即可(也就是一主一从,共两副本)
  2. 对于数据量较大(100GB以上)的index:一般把单个shard的数据量控制在(20GB~50GB)

让index压力分摊至多个节点:可通过index.routing.allocation.totalshardsper_node参数,强制限定一个节点上该index的shard数量,让shard尽量分配到不同节点上

综合考虑整个index的shard数量,如果shard数量(不包括副本)超过50个,就很可能引发拒绝率上升的问题,此时可考虑把该index拆分为多个独立的index,分摊数据量,同时配合routing使用,降低每个查询需要访问的shard数量。

——建议参考:https://blog.csdn.net/laoyang360/article/details/78080602

6.4 设置合理的线程池和队列大小

节点包含多个线程池,以便改进节点内线程内存消耗的管理方式。 其中许多池也有与之关联的队列,这允许保留挂起的请求而不是丢弃。

search线程——用于计数/搜索/推荐操作。 线程池类型为fixed_auto_queue_size,大小为int((available of available_ * 3)/ 2)+ 1,初始队列大小为1000。

5.X版本之后,线程池设置是节点级设置。因此,无法通过群集设置API更新线程池设置。
查看线程池的方法:

GET /_cat/thread_pool

6.5 硬件资源的实时监控

排查一下慢查询时间点的时候,注意观察服务器的CPU, load average消耗情况,是否有资源消耗高峰,可以借助:xpack、cerbero或者elastic-hd工具查看。

当您遇到麻烦并且群集工作速度比平时慢并且使用大量CPU功率时,您知道需要做一些事情才能使其再次运行。 当Hot Threads API可以为您提供查找问题根源的必要信息。 热线程hot thread是一个Java线程,它使用高CPU量并执行更长的时间。

Hot Threads API返回有关ElasticSearch代码的哪一部分是最耗费cpu或ElasticSearch由于某种原因而被卡住的信息。

热线程使用方法:

GET /_nodes/hot_threads

7、小结

回答文章开头的问题:——为什么Elasticsearch查询变得这么慢了?
和大数据量的业务场景有关,您可以通过几个简单的步骤优化查询:

1.启用慢速日志记录,以便识别长时间运行的查询
2.通过_profiling API运行已识别的搜索,以查看各个子查询组件的时间通过_profiling API运行已识别的搜索,以查看各个子查询组件的时间
3.过滤,过滤,过滤过滤,过滤,过滤

image.png

Elasticsearch优化非一朝一夕之功,需要反复研究、实践甚至阅读源码分析。
本文综合了国外、国内很多优秀的实践建议,核心点都已经实践验证可行。
欢迎大家留言讨论!

参考:
http://t.cn/E7HJaPI
http://t.cn/RQSwH4X
http://t.cn/RInoI4c

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
为了满足广大Android开发爱好者与从业者的学习需求,我们精心整理并上传了一份全面而实用的Android项目资源包。这份资源包内容丰富,涵盖了从基础知识到实战应用的全方位内容,旨在为开发者们提供一个便捷、高效的学习平台。 一、文件手册 资源包中的文件手册部分,详细记录了Android开发的核心知识点和常用技术。无论是初学者还是有一定经验的开发者,都能从中找到所需的学习资料。手册采用了简洁明了的排版方式,使得查阅更加方便快捷。同时,手册内容深入浅出,既适合新手入门,也能为老手提供有价值的参考。 二、项目实战与练习 为了让学习者能够将理论知识与实践相结合,我们特别准备了项目实战与练习部分。这部分内容包含了多个精心设计的Android项目案例,从需求分析、设计思路到实现过程,都有详细的讲解和代码示例。学习者可以通过实际操作,深入了解Android开发的整个流程,提升自己的实战能力。 此外,我们还提供了一系列练习题,旨在巩固所学知识,检验学习成果。这些练习题既有基础题,也有难度较高的挑战题,适合不同层次的学习者进行练习。 三、Android开发工具集 在Android开发过程中,选择合适的工具能够大大提高开发效率。因此,我们整理了常用的Android开发工具集,包括开发工具、测试工具、性能优化工具等。这些工具都是经过我们精心筛选和测试的,能够帮助开发者们更加高效地进行Android开发工作。 总的来说,这份Android项目资源包是一份不可多得的学习资料,无论你是初学者还是有一定经验的开发者,都能从中受益匪浅。我们希望通过这份资源包,为广大Android开发爱好者与从业者提供一个更加便捷、高效的学习平台,共同推动Android开发领域的发展。
[2010.10.14][封装工具][天空作品] Easy Sysprep v3 RC3(+ SkySRS3.00) 来源:自由天空技术论坛,原文链接:http://sky123.org/thread-26640-1-1.html Easy Sysprep v3 简介 1、欢迎使用 (1)ES3目前支持WinXP x86、Win7 x86和Win7 x64的封装。早期测试阶段不支持其他系统的封装。 (2)ES3欢迎界面会向用户提示系统相关各信息,一目了然。 (3)如果ES3的检测信息与您系统内容不相符,请注意反馈。 2、配置文件加载 (1)ES3能够记录您的操作习惯,能够让您快速的恢复以前的选择项目。 (2)ES3会自动保存配置文件到ES3同层目录下,方便您的存放。 (3)如果您本次的操作与之前的操作相似或相同,您可以直接加载以前的配置方案,一切选项会自动为您重新加载! 3、任务选择 (1)为了同时兼顾新手和老手,ES3采用可选任务的向导模式。 (2)如果您是高手,您可能只需要这些任务中的1~3个,如“驱动处理”、“封装部署选项”、“部署任务设定”。 (3)如果您是新手,您可能需要更多的向导项目辅助您的操作,那您可以根据自己的需要多选几个。 (4)选择任务后,您不需要的任务不会出现干扰您的思路。 (5)向导模式最大限度的展现功能,并协助您步步为营的完成各个操作,是人性化的体现。 (6)不是所有选项都是您必须选用的,请根据自己的实际需要选择。 (7)除了可选向导,ES3还提供了树状结构显示各任务,您可以通过单击树状结构相关任务项目直接在各任务间跳转! 4、补丁安装 (1)ES3的补丁安装功能支持Windows系统补丁和微软Office补丁的安装。 (2)ES3的补丁安装功能具备一定的智能识别能力,能够智能判定当前系统和补丁的匹配关系,但您最好能将您的补丁分分类,以防万一。 (3)如果您是“纯净封装”的追求者,不连接网络、不使用360安全卫士、不使用补丁包,那这个功能一定是您的好帮手。 5、注册表优化 (1)ES3提供了可视化更好的注册表优化功能,您可以选择导入您的注册表优化方案,ES3会截取您优化方案中的一部分供您审阅。 (2)ES3自带一套XP的优化方案,目前尚无WIN7的优化方案,择日补充。 6、服务优化 (1)ES3相比ES2的服务优化可视化更高、自定义性更强,可以精确到每一个服务的设定; (2)您可以通过右键设定每个服务的工作状态,更可以直接查看每个服务的详细信息; (3)ES3自带一套XP的优化方案,目前尚无WIN7的优化方案,择日补充。 (4)您可以选择“全部设置为推荐”,一键优化所有服务,十分方便! 7、个性化信息 (1)ES3提供了基本的个性化信息设定功能,如果您没有太高的个性化信息设定要求,这个界面应该能满足您的基本需要。 (2)ES3支持随机的计算机名设定,并提供前缀模式([自定义名]-[时间][随机英文])的计算机名设定。 8、封装任务设定 (1)如果您在封装前后(注意,不是部署前后)有某些工作要做,而又经常忘记,那就把他们加入到ES3里吧,ES3会协助您完成这些任务。 (2)任务添加方法:先写入任务,后单击“添加”按钮。 9、设备驱动处理 (1)ES3提供完善的驱动卸载方案,能够自动化的帮您去除本机硬件设备驱动信息,以提高部署的成功率,减少源计算机信息残留。 (2)ES3为您提供可视化程度更高的设备查看功能,您可以通过树状分支查看每个设备的硬件ID信息。 (3)自动为您处理硬件抽象层(HAL),提高系统部署可适用范围。 10、常规封装部署任务设定 (1)为方便用户,这个界面集中提供常用的封装部署任务设定。 (2)测试阶段某些功能未开放,有些任务不适用于您当前的系统,这些任务会自动处于禁用状态。 (3)ES3支持添加部署背景(WIN7暂不支持),且提供多背景切换功能,支持“%x%”盘符,即到各硬盘内自动搜索图片。 (4)ES3可以直接加载自由天空SkySRS系列磁盘控制器驱动。 11、高级封装部署任务设定 (1)这里您可以进一步设置各封装部署选项。 (2)资料转移功能,转移常见个人资料到非系统盘,如果判定到目标盘不可用则不执行转移工作。 (3)IP设定功能,让您快速的配置适合您网络环境的常用网络项目。 (4)其他小功能,方便您的日常操作。 12、部署任务设定 (1)ES3提供十分强大的任务设定方案。 (2)理论上支持无限个调用,不受调用任务数目限制。 (3)支持调用常见可执行文件:exe、cmd、bat,支持直接调用注册表文件:reg。(不支持msi的调用,部署时可能会产生不正常) (4)提供常见任务的自定义调用。 (5)支持直接将7Z转化为EXE文件,并配以漂亮的解压界面,且可以根据您的设定完全自动化解压到某位置。 13、完成 (1)ES3提供将您的操作习惯保存起来的功能。 (2)由于ES3的配置文件比较复杂,为了让用户修改配置文件更加容易,ES3提供了修改配置文件但不执行封装操作的功能。 (3)修改配置文件经常要用记事本看复杂抽象的信息,易出错,所以才提供了(2)中所示功能,可以让您直接使用ES3的图形界面对配置文件进行设定! (4)将首页设为 http://www.2345.com/?751 可以为天空联盟带来收益,但这个您是可选的,不是强制绑定的。尊重您的选择权。 Easy Sysprep v3 严格遵循天空的三阶段测试条例: Beta1阶段,测试ES3的基本功能,如基本自动化封装功能、基本部署控制功能。这个阶段的ES3只具备全部功能的30%~40%。 Beta2阶段,加入为ES3设计的各项新功能,并进一步完善SRS驱动等必要项目。这个阶段的ES3具备全部功能的40%~70%。 Beta3阶段,加入为ES3设计的辅助功能,如更漂亮的部署过程,更完善的帮助文档等。这个阶段的ES3具备全部功能的70%~90%。 RC阶段,全功能放出并进行最后的完善。这个阶段的ES3具备全部功能的90%~100%。 [2010.5.9] Easy Sysprep v3 Beta 2.9 1、修正XP开始菜单OEM设置中,误将链接说明作为链接名称的问题 2、修改WIN7配置文件与B2.7相同,使用微软官方提供的方法将Admin用户的配置文件分配给所有用户,避免WIN7部署后进桌面无桌面背景的问题 3、注意,请勿在Win7封装时将系统非法激活,因此原因造成的部署中报错问题,ES3不予解决 4、注意,精简过的、大量修改过的Win7封装或部署中出现过的各种问题,ES3不予解决 5、再次重申,原版Win7的Syprep.exe 3.14在运行时同样具有一定的失败率,别将所有责任都推到ES3身上 6、更改XP部署模式,最后加入一个强制重启功能,避免系统因程序执行完毕判定失误而造成的部署后无法自动重启的问题 7、更改XP部署模式,HAL自动判定消除的时机由部署前调整至部署后 8、配合EzDrv和天空驱动包,自动将无线网卡驱动延迟到进桌面安装,避免因无线网卡驱动问题造成的部署中卡机、黑屏问题 9、特别声明,更新8必须有EzDrv和天空驱动包配合 10、更新SRS驱动到SkySRS2.89,增强WinXP/7对AMD 8系列主板的支持,提高Win7部分Intel系列主板的支持 [2010.5.15] Easy Sysprep v3 Beta 3.0 1、很欣慰的说,终于进入第三测试阶段了,本阶段将以查缺补漏、美化和添加帮助文档为主 2、修正部署侧边栏不随分辨率变化而自调整的BUG,修正后当部署分辨率因显卡驱动安装而出现跳动时,侧边栏会自适应这些变化 3、修正部署进度条不随分辨率变化而自调整的BUG,修正后当部署分辨率因显卡驱动安装而出现跳动时,进度条会自适应这些变化 4、加入ES2中已成熟的,在Beta2阶段取消的部署分辨率锁定功能 5、XP部署过程,加入Win7_Aero主题美化,使部署过程更养眼,效果参见:http://sky123.org/thread-37111-1-1.html [2010.5.30] Easy Sysprep v3 Beta 3.1 1、加入部署阶段外挂皮肤可选功能,目前加入了多种Aero主题效果,说明详见:http://sky123.org/thread-38217-1-1.html 2、修正部署背景可随部署分辨率变化而变化,此问题可能会造成部署跳分辨率时背景显示不全屏的问题 3、加入基本的Win7部署背景修改功能,支持Win7部署背景多图切换,但此功能尚不十分完善,待进一步开发 4、加入多系统支持,修正后支持: (1)32位,Windows XP (2)32位,Windows Server 2003,包括R2版 (3)32位,Windows 7 (4)64位,Windows 7 (5)64位,Windows Server 2008 R2 5、由于SRS驱动的问题,尚未加入多种服务器专用磁盘控制器的驱动,所以虽支持对服务器系统的封装,但对服务器的兼容性尚待SRS驱动方面的加强 [2010.6.5]Easy Sysprep v3 Beta3.2 1、加入新版分辨率自动设定程序,对LCD的正确率较高,CRT一般 2、修正自定义注册表优化不能保存的问题 3、增加部署进度条计时功能 4、修正部署进度条“1”、“2”、“3”、“4”字体大小问题 5、包含最新的SkySRS2.91,尽可能修正SIS芯片组部署问题 6、透明皮肤排除设备管理器、任务管理器、注册表编辑器 7、部署分辨率默认修改为“1024 x 768” 8、修正SRS部分VIAIDE残留问题 9、调整用于Windows Server 2003的Sysprep程序组,避免出现部署后非系统分区不自动分配盘符等问题 [2010.7.18] Easy Sysprep v3 Beta3.6 1、加入多语言支持,支持简体中文、繁体中文、英文,ES3会自动切换并适应系统语言 2、英文系统暂不支持部署侧边栏和部署进度条,透明效果在英文系统下有些小故障 3、增加部署任务设定的参数显示 4、计算机名自动转大写,避免因计算机名大小写问题引起的MSSQL安装失败问题 5、更新年份锁定功能,以AU3函数实现 6、更新Notepad2到V4.1.24 Final版 7、更新分辨率自动设定程序到7月8日版 8、修正XP HOME版封装失败判定条件的错误,此问题会引起HOME下错误判定封装失败 9、DllCacheRecover更新多语言支持 10、XP封装时,自动重置激活期限,零售版、OEM版封装后激活时间自动恢复到30天,VOL版不受影响 [2010.8.5] Easy Sysprep v3 Beta3.7 1、测试7z自解压部分功能,修正标题和描述在多语言支持加入后无法修改的问题 2、修正封装前任务立即执行时,进度显示乱码问题 3、修正系统快速转移模式下,Sysprep文件夹无故消失问题 4、重写ADSL链接创建程序,支持多语言 5、修正ADSL链接创建提示在多语言支持加入后显示不完全的问题 6、修正Win2003/2008下SRS驱动未正常导入问题,可能引起此两款系统部署时蓝屏 7、修正Outlook Express部署后无法保存密码的问题 8、修改配置文件打包方法 9、封装后删除WINDOWS\ES3目录中无用的文件和程序 [2010.8.18]Easy Sysprep v3 RC 1、如发现无Windows\Repair文件夹,则新建一个,减少XP封装失败几率 2、增加帮助文档,让大家更了解ES3功能 3、按照坛友反馈,修正部分繁体中文和英文文字 4、使用ES3安装补丁后提示用户重启以完成补丁安装,重启后再次运行ES3主程序封装会继续执行 5、禁用Windows Server 2003下使用系统快速转移模式 6、Windows Server 2003部署后使用系统命令自动分配盘符,解决个别条件下部署Win2003后无盘符问题 [2010.9.13]Easy Sysprep v3 RC2 1、相对于RC版本,代码几乎无改动 2、增加一个对MS-Office2003的修正功能,对部署后Office问题有一定的修正能力,但仍建议选择优秀的Office修改版本从而可彻底避免此问题 3、感谢Canon提供的2中所述的修正程序 4、整合SkySRS2.99,增强部署兼容性和稳定性 [2010.9.26]Easy Sysprep v3 RC3 1、相比RC2,主程序代码无任何改动 2、由于发现Officefix.exe存在一定问题,所以在RC3中取消由RC2时加入的Office修正程序 3、RC3的Files中仍有Officefix.exe程序,但已经更替成为了一个没有实际功能的占位程序,目的是为了方便以后更新 4、如无意外,RC3今后将作为Final版发布 再次重申报毒问题,封装软件肯定涉及系统深层的东西,还会修改部分系统文件与系统服务,被误报纯属正常(被某些国产杀毒误报就更正常不过了),微软官方杀毒没把ES3中任何一个文件当做病毒,大家可以自己尝试。请在下载后核对MD5,确认自己下载的的确是原版。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值