• 优化 AIX 6.1 的性能


    引言

    AIX® 6.1 提供了许多重要的创新和改进,具体包括下面的内容:

    • 虚拟化——诸如工作负载分区(WPAR)和动态应用程序迁移(Live Application      Mobility)等特性
    • 安全性——诸如加密文件系统和受信任的 AIX,以及基于角色的访问控制 (RBAC) 等特性
    • 可用性——诸如 AIX 并发更新和动态跟踪等特性
    • 可管理性——诸如新的 Systems Director Console for AIX 和工作负载分区管理器等特性

    它还支持 POWER6 的性能创新,如高级同步多线程 (SMT)、共享的专用处理器和可变的页面大小。需要充分地理解哪些创新和增强来源于 POWER6、AIX 6.1,或者来源于它们的组合。例如,纯粹从操作系统的角度来看,AIX 改进了以前缺省的一些可调参数,具体包括:

    • vmo
    • ioo
    • aio
    • no
    • nfso
    • schedo

    尽管在 AIX 6.1 中的确存在一些性能增强,比如在 I/O 处理速率和 AIX 的 AIO 服务器实现方面所做的改进,但是并没有很大的变化。事实上,与从 AIX 5.3 升级到 AIX 6.1 相比,从 AIX 5.1 升级到 AIX 5.2 以及从 5.2 升级到 5.3(包括新的监视工具、优化工具、更改了虚拟内存管理器 (VMM) 设置方式的新的可调参数,以及并发 I/O 的改进)所做的性能改进要更多一些。在 AIX 6.1 中,除了已经删除的一些命令(I.E. 和 aioo)之外,所有的优化命令都保持不变,并且也没有提供任何新的监视工具。对一些实用工具所做的其他更改反映了对其他的工作负载分区创新的支持,具体包括:

    • curt
    • filemon
    • iostat
    • netpmon
    • pprof
    • procmon
    • proctree
    • svmon
    • topas
    • tprof
    • vmstat

    工作负载分区 (WPAR) 允许在一个 AIX 映像中使用多个独立的虚拟分区。这更多地是对逻辑分区 (LPAR) 的一种补充,而不是对它们的替代。实际上,WPAR 运行于 LPAR 之中,并且从概念上看,与 Solaris 的 containers 非常类似。我在 15 分钟之内就完成了 WPAR 的构建;事实上,您将在 WPAR 中完成相关的分析工作,以便可以实际地观察经过更新的、支持 WPAR 的一些工具。请注意,只有在 AIX 6.1 中才能使用 WPAR,而 POWER6 对于 WPAR 则不是必需的。在 WPAR 中,某些命令的运行方式有所不同、或者根本不能运行,将在适当的时候对其中的部分命令进行介绍。还有一些其他的 AIX 6.1 性能改进,包括唯一的可调参数的文档说明,以及受限制的可调参数。

    优化方法

    这个部分将对一种优化方法进行概述,您可以使用这种方法来优化您的系统。虽然您可以不使用这种方法,因为还存在许多其他的方法可供使用,但是您应该使用某种优化方法或者结构化的程序。

    这种方法由下面五个步骤组成:

    1. 建立基准
    2. 压力测试和监视
    3. 确定瓶颈
    4. 优化瓶颈
    5. 重复(从第二个步骤开始)

    让我们更深入地了解这些步骤:

    1. 建立基准——在您进行优化或者开始进行监视之前,必须建立一个基准。这个基准是系统正常运行时的一个快照。这个基准不仅应该捕获性能类型的统计信息,还应该记录系统的实际配置(内存总量、CPU 和磁盘)。这一点是很重要的,因为在对用户反映的性能问题进行故障诊断之前,您需要了解系统正常运行时的情形。这样做可以帮助您将数据转化为服务水平协议 (SLA),从而解决客户所面临的问题。
    2. 压力测试和监视——使用峰值工作负载,对系统进行监视和压力测试。这时,您应该使用一些监视工具以帮助证实您的发现。监视部分是非常关键的,因为如果没有系统运行情况(特别是在压力测试期间)的精确历史记录,您将无法有效地进行优化。
    3. 识别瓶颈——压力测试和监视系统的目的是为了确定瓶颈。在没有正确诊断信息的情况下,您不可能提出正确的对策。如果系统碰到了 CPU 限制,那么您可以运行一些附加的工具,如 trace、curt、splat、tprof      和 ps,以便进一步确定导致瓶颈的实际进程。
    4. 优化瓶颈——在您最终确定了瓶颈之后,接着应该对其进行优化。具体的瓶颈将决定您需要进行的优化工作,例如,CPU、虚拟内存或者 I/O。某些子系统更适合于进行主动优化,如虚拟内存和使用      vmo,而要解决 CPU 类型的瓶颈,通常需要更有效地管理工作负载、或者为系统分配更多资源(使用动态逻辑分区 (DLPAR)、无上限的分区、或者分区负载管理器)。
    5. 重复——从这个过程的第二个步骤开始,再次执行这个过程。只有通过重复进行测试,并且以一致地方式对您的系统进行监视,才能够确定优化工作是否真正地产生了效果。

    AIX 6.1——内存

    这个部分将介绍虚拟内存子系统中的一些更改。

    多年以来,许多用户都抱怨 AIX 的一些缺省参数。这些抱怨不仅反映了大多数运行 AIX 的用户所碰到的真实情况,例如,像 Oracle 这样的关键任务型数据库应用程序。正因为这一点,系统管理员不得不更改许多子系统中的设置,特别是虚拟内存子系统(换句话说,即 minperm 和 maxperm)。出于对这种现实情况的考虑,IBM® 听取了用户的意见,并且对这些参数进行了更改。还应该说明的一点是,您不应该仅仅依赖于这些设置,而应该始终咨询您的独立软件供应商 (ISV) 以验证他们所推荐的设置是针对 AIX 6.1 的、并进行了相应更改。

    接下来,让我们来看一下表 1 中给出的 AIX 5.3 和 AIX 6.1 的 vmo 参数的对比。您可以看到,现在一些参数采用的是受限制的模式。最重要的更改是处理分页问题,即使系统拥有足够的空闲内存,数据库服务器频繁地交换出计算性页面也可能导致这个问题。在先前关于优化的文章(请参见参考资料)中,曾建议将这些参数更改为与表格中所示内容非常接近的缺省值。在 AIX 5.3 优化建议专栏中说明了这些改进。现在,以不同的方式将许多可调参数分类为受限制的参数,以便尽量阻止对某些参数进行更改。现在只有 29 种 vmo 可调参数是可以进行更改的(不会出现严格的警告);有 30 种参数被认为是受限制的可调参数,对于这些参数,IBM 正式声明,除非在“IBM 支持专业人员”的指导下进行,否则不应该对其进行修改。IBM 之所以进行了这项更改,是希望阻止初级管理员更改某些参数,而这些参数非常关键,需要将其分类为受限制的参数。


    表 1. vmo 参数和优化建议的列表

    类型

    AIX 5.3

    AIX 5.3 优化
      更改建议

    AIX 6.1

    受限制

    cpu_scale_memp = 8

    8

     

    8

    data_stagger_interval = 161

    161

     

    161

    defps = 1

    1

         

    force_relalias_lite = 0

    0

     

    0

     

    framesets = 2

    2

    2

    不再可用

    htabscale = n/a

    n/a

     

    n/a

    kernel_heap_psize = 4096

    4096

     

    4096

     

    kernel_psize = 4096

    4096

     

    65536

    large_page_heap_size = 0

    0

     

    0

    lgpg_regions = 0

    0

     

    0

     

    lgpg_size = 0

    0

     

    0

     

    low_ps_handling = 1

    1

     

    0

     

    lru_file_repage = 1

    1

    0

    0

    lru_poll_interval = 10

    10

     

    10

    lrubucket = 131072

    131072

     

    131072

    maxclient% = 80

    80

    90

    90

    maxfree = 1088

    1088

     

    1088

     

    maxperm = 598781

    598781

     

    442683

     

    maxperm% = 80

    80

    90

    90

    maxpin = 635249

    635249

     

    423471

     

    maxpin% = 80

    80

     

    80

     

    mbuf_heap_psize = 65536

    65536

     

    64436

    memory_affinity = 1

    1

     

    1

    memory_frames = 786432

    786432

     

    524288

     

    memplace_data = 2

    2

     

    2

     

    memplace_mapped_file = 2

    2

     

    2

     

    memplace_shm_anonymous = 2

    2

     

    2

     

    memplace_shm_named = 2

    2

     

    2

     

    memplace_stack = 2

     

    2

     

    2

    memplace_text = 2

    2

     

    2

     

    memplace_unmapped_file = 2

    2

     

    2

     

    mempools = 5

    5

         

    minfree = 960

    960

     

    960

     

    minperm = 149694

    149694

     

    14756

     

    minperm% = 20

    20

    5

    3

     

    nokilluid = 0

    0

     

    0

     

    npskill = 3072

    3072

     

    3072

     

    npsrpgmax = 24576

    24576

     

    8192

    npsrpgmin = 18432

    18432

     

    6144

    npsscrubmax = 24576

    24576

     

    8192

    npsscrubmin = 18432

    18432

     

    6144

    npswarn = 12288

    12288

     

    12288

     

    num_spec_dataseg = 0

    0

     

    0

    numpsblks = 393216

    393216

     

    393216

     

    page_steal_method = 0

    0

     

    1

    pagecoloring = n/a

    n/a

         

    pinnable_frames = 675516

    675516

     

    349814

     

    pta_balance_threshold = n/a

    n/a

         

    relalias_percentage = 0

    0

     

    0

     

    rpgclean = 0

    0

     

    0

    rpgcontrol = 2

    2

     

    2

    scrub = 0

    0

     

    0

     

    scrubclean = 0

    0

     

    0

    soft_min_lgpgs_vmpool = 0

    0

         

    spec_dataseg_int = 512

    512

     

    512

    strict_maxclient = 1

    1

     

    1

    strict_maxperm = 0

    0

     

    0

    v_pinshm = 0

    0

     

    0

     

    vm_modlist_threshold = -1

    -1

     

    -1

    vmm_fork_policy = 1

    1

     

    1

    vmm_mpsize_support = 1

    1

     

    2

    vmm_default_pspa

       

    -1

     

    新的 vmo 标志 -F,提供了所有的参数,包括受限制的参数。这里忽略了大多数内容,只提供了很少的一部分,其中包括受限制的部分(请参见清单 1)。


    清单 1. 使用带 -F 标志的 vmo 查看所有的可调值

                   

    lpar9ml162f_pub[/] > vmo -F -a

         force_relalias_lite = 0

            vmm_default_pspa = -1

    ##Restricted tunables

                    maxperm% = 90

     

    甚至可以更改受限制的可调参数。当您在进行一项更改时,将会收到一个严正警告(请参见清单 2)。


    清单 2. 调整可调参数时的警告

                   

    lpar9ml162f_pub[/] > vmo -o maxperm%=99

    Setting maxperm% to 99

    Warning: a restricted tunable has been modified

     

    当在重新启动后更改某个参数时,您将得到进一步的警示,并且将请求您确认是否希望进行这项操作。您必须手动键入“yes”(请参见清单 3)。


    清单 3. 受限制的可调参数——回答 yes 以进行更改

                   

    lpar9ml162f_pub[/] > vmo -p -o  maxperm%=99

    Modification to restricted tunable maxperm%,   confirmation required yes/no yes

    Setting maxperm% to 99 in nextboot file

    Setting maxperm% to 99

    Warning: a restricted tunable has been modified

    lpar9ml162f_pub[/] >

     

    最重要的即时可用的性能值,包括新值:

    • minperm
    • maxperm
    • maxclient
    • strict_maxclient

    这是建立在 AIX 5.3 中首次出现的更改的基础之上的,在 AIX 5.3 中,您不再需要关闭 strict_maxclient,增大 minfrree 和 maxfree 或者减少 minperm、maxperm 和 maxclient。新的建议(在 AIX 6.1 中,现在已经整合为缺省值)是,关闭重新分页比率检查 lru_file_repage,这将确保不对工作存储进行分页,并且只考虑文件分页。在 AIX 6.1 中,VMM 替换缺省值已经更改为利用高达 90% 的实际内存进行文件缓存,这样更有利于计算性页面,而不是文件页面。除非活动虚拟内存的总量超过实际内存大小的 97%,才会将 minperm 减少到 3%(请参见清单 4),以确保不会偷取计算性页面。


    清单 4. minperm 减少到 3%

                   

    # vmo -o minperm%=97

    Value of the tunable minperm% cannot be changed in a   WPAR

     

    在 WPAR 中,有些更改将不起作用。虽然 WPAR 是 LPAR 的子集,但它们仍然是单独的操作系统映像的一部分。

    另一项重要的更改包括 VMM 动态可变页面大小支持 (VPSS)。页面定义为固定长度的数据块,并且保存在虚拟内存中。在 AIX 6.1 中(仅在 POWER6 处理器中),VMM 现在可以根据应用程序的内存使用情况,动态地使用较大的页面大小,而这将显著地提高性能。这个特性对于应用程序来说是完全透明的。如果不会导致进程内存使用量的增加,那么 AIX 将仅使用较大的页面大小。使用较大的页面将提高性能,因为需要进行的硬件地址转换工作将更少。仅支持在工作存储内存中(不支持在持久的存储中)进行这项工作。新的参数是 vmm_default_pspa(它还可以与 vmm_mpsize_support 可调参数一同使用)。


    清单 5. lsattr 输出说明了处理器的体系结构

                   

    lpar9ml162f_pub[/usr/samples/tcpip] > lsattr -El   proc0

    Frequency     1654344000     Processor   Speed       False

    smt_enabled true           Processor SMT enabled False

    smt_threads 2              Processor SMT threads False

    state         enable         Processor   state       False

    type          PowerPC_POWER5 Processor type          False

    lpar9ml162f_pub[/usr/samples/tcpip] >

     

    让我们查看以下 VPSS 可调参数的设置。


    清单 6. 在 POWER5 系统中自动禁用 VPSS

                   

    lpar9ml162f_pub[/usr/samples/tcpip] > vmo -a | grep   pspa

            vmm_default_pspa = -1

     

    AIX 6.1——CPU

    这个部分将着重介绍 CPU 子系统中的更改。

    尽管 schedo 也可以用于优化某些内存机制,如分页负载控制,但是它主要用于 CPU 调度程序的优化。在 AIX 6.1 中,42 种可调参数中只有 27 种是受限制的,可以对剩下的 15 种可调参数进行更改,并且不会出现警告。尽管更改了一些缺省值,但没有针对 AIX 6.1 中的 CPU 监视和优化进行实质性更改(请参见清单 7)。


    清单 7. 受限制的可调参数

                   

    lpar9ml162f_pub[/] > schedo  -F -a

    ##Restricted tunables

                    %usDelta = 100

             allowMCMmigrate = 0

                  fast_locks = n/a

             hotlocks_enable = 0

    idle_migration_barrier = 4

          krlock_confer2self = 1

      krlock_conferb4alloc = 1

               krlock_enable = 1

          krlock_spinb4alloc = 1

         krlock_spinb4confer = 1024

          n_idle_loop_vlopri = 100

     search_globalrq_mload = 256

        search_smtrunq_mload = 256

        setnewrq_sidle_mload = 384

         shed_primrunq_mload = 64

        sidle_S1runq_mload = 64

          sidle_S2runq_mload = 134

          sidle_S3runq_mload = 134

          sidle_S4runq_mload = 4294967040

          slock_spinb4confer = 1024

            smt_snooze_delay = 0

           smtrunq_load_diff = 2

               v_exempt_secs = 2

             v_min_process   = 2

                 v_repage_hi = 0

               v_repage_proc = 4

                  v_sec_wait = 1

    lpar9ml162f_pub[/] >

     

    AIX 6.1——磁盘 I/O

    这个部分将概述磁盘 I/O 子系统中的更改。

    在 AIX 6.1 中,您可以使用 ioo 来控制 48 种可调参数,其中 27 种参数现在都是受限制的,可以对剩下的 21 种可调参数进行更改,并且不会出现警告。最重要的更改将影响 I/O 处理速率和 AIO 动态可调参数(请参见清单 8)。


    清单 8. 受限制的 ioo 可调参数

                    

    # ioo  -F -a

    ##Restricted tunables

                        aio_fastpath = 1

                    aio_fsfastpath   = 1

                       aio_kprocprio = 39

                    aio_multitidsusp = 1

                     aio_sample_rate = 5

               aio_samples_per_cycle = 6

             j2_maxUsableMaxTransfer = 512

            j2_nBufferPerPagerDevice = 512

            j2_nonFatalCrashesSystem= 0

               j2_syncModifiedMapped = 1

             j2_syncdLogSyncInterval = 1

                  jfs_clread_enabled = 0

                   jfs_use_read_lock = 1

                          maxpgahead = 8

                          maxrandwrt = 0

                       memory_frames = 524288

                          minpgahead = 2

                            numclust = 1

                           numfsbufs = 196

                  pgahd_scale_thresh = 0

                  posix_aio_fastpath = 1

                posix_aio_fsfastpath = 1

                 posix_aio_kprocprio = 39

             posix_aio_sample_rate = 5

         posix_aio_samples_per_cycle = 6

                         pv_min_pbuf = 512

                  sync_release_ilock = 0

     

    JFS2

    现在,对增强的日记记录文件系统 (JFS2) 进行了相应的更改,这些更改允许您在不进行日志记录的情况下挂载 JFS2 文件系统。虽然这可以显著地提高性能,但我们并不建议进行这项操作。如果您需要恢复您的数据,那么您必须使用讨厌的 fsck,在日记记录文件系统出现以后,几乎已经很少使用这个工具了。一些有用的情况可以帮助您从备份中恢复数据,并且在某些活动(您可能具有很小的窗口,并且不需要考虑可用性)期间节约时间。

    iSCSI

    现在可以在千兆以太网适配器上使用 target 软件驱动程序,这可以提高该类环境中的性能。target 驱动程序将本地磁盘或者逻辑卷导出到使用 iSCSI 协议连接到 AIX 的 iSCSI initiators 方。广泛地使用 iSCSI 是基于光纤存储的可行备选方法,从而使其成为一项重要的增强。

    I/O 处理速率

    磁盘 I/O 处理速率是允许您限制文件挂起 I/O 请求数目的一种机制。它所起到的作用是,防止磁盘 I/O 密集型进程(通常以大量的、顺序的方式进行写入)耗尽 CPU。在缺省情况下,AIX 6.1 启用了 I/O 处理速率。在 AIX 5.3 中,您需要显式地启用这个特性。它进行这项工作的方式是分别将 minpout 和 maxput 参数的 sys0 设置为 4096 和 8193:

    lpar9ml162f_pub[/] > lpar9ml162f_pub[/] > lsattr   -El sys0



    图 1. lsattr 输出说明了新的 I/O 处理速率设置
                           

    异步 I/O (AIO)

    AIO 是一个 AIX 软件子系统,它允许进程在无需等待 I/O 完成的情况下发起 I/O 操作。因为 I/O 操作和应用程序的处理工作并发地运行,所以它们本质上都在后台运行,并且能够提高性能。在数据库环境中,这一点是特别重要的。一共有两种类型的 AIX 子系统:Legacy AIO 和 POSIX AIO。它们之间的区别包括在应用程序层传递的不同参数。换句话说,开发人员可以挑选该应用程序所使用的实现。无论选择哪个子系统,它们都将在 AIX 中并发地运行。在 AIX 5L™ 中,如果应用程序使用 AIO,那么将需要使用 autoconfig 参数显式地激活这个子系统。因为需要加载内核扩展,所以还需要重新启动系统。事实上,如果对下面这些可调参数进行了任何更改的话,那么 AIX 5.3 TL5 之前的任何发行版都需要重新启动:

    • maxreqs
    • maxservers
    • minservers

    在 AIX 5.3 中,您还可以使用 aioo 命令,该命令允许您在不重新启动的情况下(减少所需的重新启动),动态地进行这些更改。有一点应该注意,该命令并不会更改对象数据管理器 (ODM) 的属性,这意味着在重新启动之后它们将无法保持。

    在 AIX 6.1 中,可调参数 fastpath 和 fsfastpath 现在都是受限制的可调参数,并且在缺省情况下设置为 1。它对可调参数的影响如下(请参见清单 9):

    • fastpath:将原始逻辑卷直接传递到磁盘层的 AIO 请求。
    • fsfastpath:将在 JFS2 中使用并发 I/O 打开的文件直接传递到 LVM 或者磁盘的 AIO 请求。


    清单 9. 受限制的可调参数

                   

    ##Restricted tunables

                        aio_fastpath = 1

                      aio_fsfastpath = 1

     

    而且,现在在缺省情况下将加载 AIO 子系统,但不激活它。当应用程序发起 AIO I/O 请求时,将自动地启动它们。aioo 命令已经不复存在(它的生命期真的很短),并且现在仅由 ioo 使用这些可调参数(请参见清单 10)。


    清单 10. AIX 旧方法 (AIX 5.3)

                   

    lpar9ml24f_pub[/] > # aioo -a

     

                  minservers = 1

                maxservers   = 1

                   maxreqs= 4096

                   fsfastpath = 0

     

    清单 11 提供了 AIX 6.1 的新方法。


    清单 11. AIO 新方法 (AIX 6.1)

                   

    lpar9ml162f_pub[/] > ioo -a | grep active

                          aio_active = 0

                    posix_aio_active =

     

     

    还需要说明的是,ODM 中不再包含 AIO 设备。

    正如您可以看到的,已经为 ioo 添加了两个新的参数:aio_active 和 posix_aix_active。这两个参数只能由 AIX 来进行更改,并且只有在使用和固定 AIO 内核扩展时才会将它们设置为 1。如果您喜欢使用 grep,那么您将无法找到更多的 AIO 服务器。现在,您将看到 aioLpools 和 aioPpools;它们是为 Legacy 和 POSIX 管理 AIO 子系统的内核进程。这项更改带来的结果是,固定内存变得更少,并且系统中运行的进程也变得更少;这对于整体系统性能来说,都具有积极影响(请参见清单 12)。


    清单 12. 新的 AIO 内核进程

                   

    lpar9ml162f_pub[/] > pstat -a | grep aio

     39 a   2704e        1  2704e     0       0     1  aioLpool

     40 a   28050        1  28050     0       0     1  aioPpool

    lpar9ml162f_pub[/] >

     

    与 AIO 服务器相关的 minserver 和 maxserver 参数,现在可以根据每个 CPU 进行调整。更改这些值将不会引起系统中可用服务器数目的更改;这个总量取决于并发 I/O 请求的数目(请参见清单 13)。


    清单 13. minservers 和 maxservers 的缺省参数中的更改

                   

    lpar9ml162f_pub[/] > ioo -a | grep minservers

                      aio_minservers = 3

                posix_aio_minservers = 3

    lpar9ml162f_pub[/] > ioo -a | grep maxservers

                      aio_maxservers = 30

                posix_aio_maxservers = 30

    lpar9ml162f_pub[/] >

     

    AIX 6.1——网络和网络文件系统 (NFS) I/O

    这个部分将概述网络 I/O 子系统(包括 NFS)中的更改。

    在 133 种 no 可调参数中,只有 5 种分类为受限制的参数(请参见清单 14)。


    清单 14. 受限制的可调参数

                    

    #no  -F -a

    ##Restricted tunables

               extendednetstats = 0

                inet_stack_size = 16

              net_malloc_police = 16384

                   pseintrstack = 24576

                       use_isno = 1

    lpar9ml162f_pub[/] >

     

    还引入了一个新的网络缓存守护进程,以便在使用 DNS 进行解析时提高性能。

    这个守护进程可以从系统资源控制器 (SRC) 进行启动。

    它的主要配置文件位于 /etc/netcd.conf 中,并且您可以将 /usr/samples/tcpip 中的文件复制到 /etc,并使用它作为模板。用于管理该守护进程的命令是 netcdctrl。使用这个命令,您可以将缓存的内容转储到文件中、显示缓存使用情况的统计信息、刷新缓存表,以及更改该守护进程的日志级别。清单 15 显示了相关的状态信息。


    清单 15. 使用 netcdctrl 显示缓存状态信息

                   

    lpar9ml162f_pub[/usr/samples/tcpip] > netcdctrl -t   dns -e hosts -s /tmp/netcd.stats

    lpar9ml162f_pub[/usr/samples/tcpip] > more   /tmp/netcd.stats

    CACHE dns, hosts, name

    Hash index : 0, Max number of entries : 0, Current   number of entries : 0

    Hash index : 1, Max number of entries : 0, Current   number of entries : 0

    Hash index : 2, Max number of entries : 0, Current   number of entries : 0

    Hash index : 3, Max number of entries : 0, Current   number of entries : 0

     

    关于 /etc/netsvc.conf 文件,没有进行任何更改;在确定解析顺序时,仍然需要使用这个文件。

    NFS

    在 24 种 NFS 可调参数中,已经有 21 种被分类为受限制的(请参见清单 16)。


    清单 16. 受限制的可调参数

                   

    #nfso -a

     

    ##Restricted tunables

                 lockd_debug_level = 0

             nfs_allow_all_signals = 0

              nfs_auto_rbr_trigger = 0

               nfs_dynamic_retrans = 1

              nfs_gather_threshold = 4096

                  nfs_iopace_pages = 0

                 nfs_max_threads = 3891

               nfs_repeat_messages = 0

                    nfs_socketsize = 600000

    nfs_tcp_duplicate_cache_size = 5000

                nfs_tcp_socketsize = 600000

    nfs_udp_duplicate_cache_size = 5000

                       nfs_v2_pdts = 1

                     nfs_v3_pdts = 1

                       nfs_v4_pdts = 1

                    nfs_v2_vm_bufs = 10000

                    nfs_v3_vm_bufs = 10000

                    nfs_v4_vm_bufs = 10000

                 statd_debug_level = 0

                 statd_max_threads = 50

                     udpchecksum   = 1

    lpar9ml162f_pub[/] >

     

    其中唯一值得注意的更改是,现在在缺省情况下启用了 RFC1323(位于 TC/IP 堆栈),这允许 TCP 连接为任何 NFS 连接使用 TCP 扩展窗口。而且,对于每个 NFS V3 挂载点来说,biod 守护进程的缺省数目现在已经增加到了 32。

    总结

    AIX 6.1 提供了许多创新,比如 WPAR 的使用和动态应用程序可用性。它还针对性能优化提供了许多改进。其中一些比较重要的更改包括改进缺省参数以便更精确地反映实际数据处理工作、唯一的可调参数的文档说明、受限制的可调参数的整合,以及对 I/O 处理速率和 AIO 服务器的增强。AIX 6.1 非常出色,但也不要忘记,在 IBM 的世界里,AIX 6.1 是新的 6.0。您也知道,与 AIX 5.1 相比,AIX 5.2 更加优秀、也更加稳定。在进行操作系统更新之前需要考虑到方方面面的问题,但是如果您的应用程序能够完全支持它,并且您认为这些创新非常重要,以至于有必要进行更新操作,那么请不要迟疑

  • 相关阅读:
    java+selenium 3.x的火狐自动化测试环境
    Jmeter+badboy环境搭建
    Linux环境下搭建Tomcat+mysql+jdk环境
    线程池的配置说明
    关于事务的使用规范
    生产事故 java.lang.OutOfMemoryError: GC overhead limit exceeded
    linux检查网络运行情况命令
    百万数据迁移的线程分组
    XML报文拼接 乱码
    创建数据源、连接数据库
  • 原文地址:https://www.cnblogs.com/weixun/p/3203611.html
Copyright © 2020-2023  润新知