GIS切图性能调优

现状及目标

DellR920服务器,虚拟化VMWARE VSPHERE 5.5系统,Guest系统Windows Server 2012 R2。部署软件ARCGIS 10。影像图切图测试:原有切图耗时70小时,现在耗时17小时。依然有继续优化的空间。调试目标:

1.        验证虚拟化环境下的最佳切图参数配置,出具虚拟化环境下ArcGIS10的最佳性能配置方法。

2.        验证SSD应用的有效性,分别测试SSD SRT技术、切图缓存技术、ESXi主机缓存技术、SAS 12GB规格模式下的最优化性能配比,得出结论为切图及R920服务器环境下的最佳SSD配置优化方法。

3.        验证ARCGIS系统的最佳优化方法。验证ARCGIS优化调试最佳经验。

4.        再次缩短优化时间,将切图性能通过不同的技术手段尝试来试图达到最短时间。

调优内容

A.    虚拟化

1.        VSPHERE SERVER版本选择为VSPHERE5.5 Updata 2 with VMtools。

2.        当主机物理内存不足的情况下,使用ESXi 主机缓存技术。

3.        硬件优化

4.        虚拟机配置

5.        VMFS文件系统优化,启用SAS及RAID卡的AlwaysWrite Back 写缓冲功能。由于切图是一个持续写操作,因此该操作是必需项。

B.    操作系统Windows 2012 R2

1.        修改注册表,改变TCP网络协议栈的性能。

2.        启用Windows 2012的默认CPU性能的MAX值。Windows 2012为节电考虑会关闭部分CPU核心。

3.        优化page file,建议设置为最小值=物理内存*2+50M,最大值=物理内存*4+50M,可以参考MS官方文档:http://support.microsoft.com/kb/2860880

4.        IO优化,注册表修改Windows2012的默认IO请求数。

5.        NTFS文件系统优化

C.     固态硬盘优化

基于SSD的优化就是解决erase-before-write产生的写入放大的问题,不同类型的IO分离,减少写操作带来的性能影响。

1.        将sequential logging修改为In-page logging,避免对相同位置的反复擦写。

2.        通过缓存写入的方式将大量的in-place update随机写入合并为少量顺序写入。

3.        利用SSD随机读写能力高的特点,减少写增加读,从而达到整体性能的提升。

4.        控制面板-管理工具-服务里,禁用Superfetch、Disk Defragmenter和Windows Search服务:对于SSD而言由于存储方式的改变,原有的磁盘碎片清理变得多余,甚至是有害的,因此我们需要禁用磁盘碎片清理,而针对传统机械硬盘的Superfetch预读取和Windows Search引索,同样现在也没有必要可以禁用。

5.        利用读写速度更快的内存来作为SSD的高速缓存使用。其具体原理是,系统读写SSD时会把数据先存放在由内存虚拟的缓存中。部分常用的数据就可以在内存中反复读写,从而减少对SSD的读写次数。这样做的好处首先是读写速度更快,其次是可以延长SSD的使用寿命。

D.    ARCGIS优化

1.        Maplex高级注记。使用Maplex高级注记功能编辑的地图文档,可能会导致切图效率的低下。判断是否是Maplex导致的切图速度慢,最简单的方法就是关闭Maplex引擎之后,进行切图,并将单位时间内生成切片文件的大小与原来做一个比对,如果速度相差悬殊,那么可以尝试将地图文档中除当前切图比例尺之外的其他图层先删除掉,再分级进行切图。

2.        发布文件的格式。很多时候我们做切图,都是在服务器上进行的,引用ESRI售后技术工程师的说法,在多核服务器上通过mxd发布的服务可能会存在异常,esri承认是bug,推荐使用基于msd的地图服务。所以在服务器上做切片,一定要将地图文档保存为msd格式发布,再进行切图。

3.        最大实例数的设置。一般来说,我们都会讲切图服务的实例数设置为CPU核心数+1,因为有一个SOC进程是专门用来做回收的,并不参与实际工作,所以这样设置可以发挥出切片服务器的最大性能。但是我们在实际的操作过程中,发现这种方式在某些型号的服务器上会导致SOC进程创建后又不断回收,最终只有一个进程在切图的情况。这时我们就只能通过不断尝试设置不同的实例数,从而找到一个合适的值。

4.        切图方式。我么都知道,进行切图有两种方式,一种是直接在地图服务属性中执行更新切片,或者通过ArcToolbox工具中提供的服务器工具进行切图。原理上来说,这两种方式都是调用的同一个GP过程,没有什么区别,但是在实际使用中,我们通过服务属性更新切片时常常会遇到ArcMap程序异常关闭的情况,所以还是推荐使用工具进行切图。

5.        紧凑&松散。ArcGIS10中推出了一种新的缓存格式,将原来独立的缓存图片,保存成bundle格式二进制文件,每个bundle文件存储 128*128个缓存图片。相比成千上万的tile文件,这样做的好处是易于缓存管理,减少磁盘空间占用,提高缓存读取效率等等。所以我们在切图过程中也应使用紧凑格式来创建切片。

6.        图片格式。不同的图片格式,直接影响缓存文件的大小,一般来说,系统默认是采用PNG32来保存tile文件的,但如果我们想缩小一些占用空间,可以考虑使用JPG或PNG8、PNG24等格式。使用JPG虽然压缩比是最大的,但是创建出来的切片文件噪点严重,所以不推荐使用。通过多次尝试,PNG8格式不仅可以大大压缩缓存文件的大小(大概是PNG32格式的60%),而且切片的效果相差也不大,所以是PNG32格式很好的替代选择。

下一步工作

1.        更换SAS12GB规格接口进行eMLC颗粒的测试。

升级固件到上图最新版本的主控芯片固件。如图2015年6月3日更新的固件,版本A3AE,A00。

  • NAND: 24nm eMLC
  • Interface: SAS 12Gb/s
  • Form Factor: 2.5” SFF x 7mm High (15mm for 1.6TB model)
  • Performance
    • Sequential Read (Sustained): 900MB/s
    • Sequential Write (Sustained): 400MB/s
    • Random Read 4k (IOPS): 120,000
    • Random Write 4k (IOPS): 30,000

2.        采用ARCGIS上述优化方式进行切图优化。

3.        尝试多种不同的场景和测试目标来进行切图,测试其稳定性和速度。

时间: 2024-10-16 18:21:24

GIS切图性能调优的相关文章

性能调优:JVM内存诊断工具

转载请注明出处:http://blog.csdn.net/supera_li/article/details/45315241 性能调优系列的其他篇幅,请查阅. 性能调优:CPU消耗分析 性能调优:IO消耗分析 性能调优:消耗分析思维导图 性能调优:JVM内存诊断工具 *号代表是重点工具. 这部分总结了内存诊断的相关工具.具体的工具使用,我会在这篇中增加子链接. //TODO

MySQL性能调优与架构设计——第 14 章 可扩展性设计之数据切分

第 14 章 可扩展性设计之数据切分 前言 通过 MySQL Replication 功能所实现的扩展总是会受到数据库大小的限制,一旦数据库过于庞大,尤其是当写入过于频繁,很难由一台主机支撑的时候,我们还是会面临到扩展瓶颈.这时候,我们就必须许找其他技术手段来解决这个瓶颈,那就是我们这一章所要介绍恶的数据切分技术. 14.1 何谓数据切分 可能很多读者朋友在网上或者杂志上面都已经多次见到关于数据切分的相关文章了,只不过在有些文章中称之为数据的 Sharding.其实不管是称之为数据的 Shard

一文教会你数据库性能调优(附某大型医院真实案例)

原文:一文教会你数据库性能调优(附某大型医院真实案例) 前言 微软工程师的一个工程师曾经对性能调优有一个非常形象的比喻:剥洋葱 .我也非常认可,让我们来一层一层拨开外面它神秘的面纱. 六大因素 下面祭出的是我们在给客户分析数据库性能问题最常用的图. 看完这个图,你是不是对性能调优有了个基本的概念了.通常来讲我们会依照下面的顺序来进行分析: 硬件能力 系统规模 数据库内部因素 软件环境 这4个的顺序可以有所调整或者交换,但是对于系统的性能优化一定要从全局出发.切勿一来就深入到某一个SQL语句的优化

iOS应用性能调优的25个建议和技巧

目录 我要给出的建议将分为三个不同的等级: 入门级. 中级和进阶级: 入门级(这是些你一定会经常用在你app开发中的建议) 1. 用ARC管理内存 2. 在正确的地方使用reuseIdentifier 3. 尽可能使Views透明 4. 避免庞大的XIB 5. 不要block主线程 6. 在Image Views中调整图片大小 7. 选择正确的Collection 8. 打开gzip压缩 中级(这些是你可能在一些相对复杂情况下可能用到的) 9. 重用和延迟加载Views 10. Cache, C

性能调优

性能调优 1.设计调优 宏观层面质的优化 2.代码调优 熟悉相关API,并在合适的场景中正确使用相关API或类库,同时,对算法.数据结构的灵活运用也是代码优化的重要内容 3.JVM调优 代码和JVM属于系统微观层面量的优化 4.数据库调优 使用preparestatement代替statement提高查询效率 Select,使用要查询的具体的列名,避免使用*号, 合理地使用冗余字段 Oracle的分区表 根据不同的数据,以Oracle为例,设置合理大小的共享池.缓存缓冲区或者PGA 5.操作系统

性能调优概述

大纲: 一.概述 二.什么是性能调优?(what) 三.为什么需要性能调优?(why) 四.什么时候需要性能调优?(when) 五.什么地方需要性能调优?(where) 六.什么人来进行性能调优?(who) 七.怎么样进行性能调优?(How) 八.总结 注,硬件配置:CUP Xeon E5620 x 2 8核心, 内存 16G , 硬盘 RAID 10,操作系统: CentOS 6.4 x86_64(64位). 一.概述 本来呢,这篇博文上个星期就应该写好了,但最近项目比较紧,晚上老是加班,于是

Android界面性能调优手册

转载:https://androidtest.org/android-graphics-performance-pattens/#11 界面是 Android 应用中直接影响用户体验最关键的部分.如果代码实现得不好,界面容易发生卡顿且导致应用占用大量内存. 我司这类做 ROM 的公司更不一样,预装的应用一定要非常流畅,这样给客户或用户的第一感觉就是快.又卡又慢的应用体验,会影响客户或用户对产品的信心和评价,所以不可忽视. 目录 一. Android渲染知识 1.1 绘制原理 1.2 掉帧 1.3

Spark性能调优之JVM调优

Spark性能调优之JVM调优 通过一张图让你明白以下四个问题 1.JVM GC机制,堆内存的组成                2.Spark的调优为什么会和JVM的调优会有关联?--因为Scala也是基于JVM运行的语言                3.Spark中OOM产生的原因                4.如何在JVM这个层面上来对Spark进行调优 补充:                Spark程序运行时--JVM堆内存分配比例 RDD缓存的数据(0.6)    默认 对象_

[大数据性能调优] 第二章:彻底解密Spark的HashShuffle

本課主題 Shuffle 是分布式系统的天敌 Spark HashShuffle介绍 Spark Consolidated HashShuffle介绍 Shuffle 是如何成为 Spark 性能杀手 Shuffle 性能调优思考 Spark HashShuffle 源码鉴赏 引言 Spark HashShuffle 是它以前的版本,现在1.6x 版本默应是Sort-Based Shuffle,那为什么要讲 HashShuffle 呢,因为有分布式就一定会有 Shuffle,而且 HashShu