基本linux性能调优技巧

导读Linux是一种开源操作系统,它支持各种硬件平台,Linux服务器全球知名,它和Windows之间最主要的差异在于,Linux服务器默认情况下一般不提供GUI(图形用户界面),而是命令行界面,它的主要目的是高效处理非交互式进程,响应时间并不是那么重要,相反,能够长时间处理高负载才是最关键的。

木桶理论

Linux高可用服务器集群解决方案让IT系统管理员可以从容应对许多常见的硬件和软件故障,允许多台计算机一起工作,为关键服务正常运行提供保障,系统管理员可以不中断服务执行维护和升级。Linux服务器有各种用途,如Web服务器或分支机构内部服务器,CMS或CRS服务器,文件服务器(为Windows和/或Linux用户服务),VoIP电话服务器,邮件或域名服务器,数据库服务器,云计算配置中的基础设施节点等。 Linux功能丰富、强大、灵活,你可以用它完成各种任务,在这篇文章中,我们将讨论一些提高Linux服务器性能的技巧。

1、为磁盘I/O调整Linux内核电梯算法

在选择文件系统后,有一些内核和挂载选项可能会影响到它的性能表现,其中一个内核设置是电梯算法,通过调整电梯算法,系统可以平衡低延迟需求,收集足够的数据,以有效地组织对磁盘的读和写请求。

2、禁用不必要的守护进程,节省内存和CPU资源

每台服务器上都运行着许多守护进程或服务,而具有讽刺意味的是,有很多通常不是必需的,这些服务没有发挥作用,但却消耗了宝贵的内存和CPU时间。此外,它们可能将服务器置于危险境地,多运行一个服务就等于多向黑客打开一扇长驱直入的门,因此,你应该将它们从服务器移除,禁用它们最大的好处是可以加快启动时间,释放内存。另外,你可以减少CPU需要处理的进程数,禁用它们的另一个好处是增强服务器的安全性,因为越少的守护进程意味着可被攻击和利用的漏洞越少。 下面是一些应该被禁用的Linux守护进程,默认情况下,它们都是自动运行的:

 序号 守护进程 描述
 1 Apmd 高级电源管理守护进程
 2Nfslock用于NFS文件锁定
 3IsdnISDN Moderm支持
 4Autofs在后台自动挂载文件系统(如自动挂载CD-ROM)
 5Sendmail邮件传输代理
 6XfsX Window的字体服务器

3、关掉GUI

一般说来,Linux服务器是不需要GUI的,所有管理任务都可以在命令行下完成,因此最好关掉GUI,重定向X显示或通过一个Web浏览器界面显示。为了禁用GUI,“init level(启动级别)”应该被设置为3(命令行登录),而不是5(图形登录),如果需要GUI,可以随时运行startx进入图形用户界面。

4、清理不需要的模块或功能

在服务器软件包中有太多被启动的功能或模块实际上是不需要的(如Apache中的许多功能模块),仔细查看Apache配置文件,确定FrontPage支持或其它额外的模块是否真的要用到,如果不需要,应该毫不犹豫地从服务器禁用掉,这样有助于提高系统内存可用量,腾出更多资源给那些真正需要的软件,让它们运行得更快。

5、禁用控制面板

在Linux中,有许多流行的控制面板,如Cpanel,Plesk,Webmin和phpMyAdmin等,相信每个Linux初级用户都很喜欢这些控制面板,但是,禁用掉这些软件包可以释放出大约120MB内存,因此,我强烈建议禁用掉这些控制面板,除非它们真的需要用到,它们可以通过PHP脚本(尽管有些不安全),或命令行命令启用,这样做后,内存使用量大约可以下降30-40%。

6、改善Linux Exim服务器性能

有许多种方法改善服务器的Exim性能,其中一个办法是使用DNS缓存守护进程,它可以降低解析DNS记录需要的带宽和CPU时间,DNS缓存通过消除每次都从根节点开始查找DNS记录的需求,从而改善网络性能,Djbdns是一个非常强大的DNS服务器,它具有DNS缓存功能,Djbdns比BIND DNS服务器更安全,性能更好,可以直接通过http://cr.yp.to/下载,或通过Red Hat提供的软件包获得。

7、使用AES256增强gpg文件加密安全

为了提高备份文件或敏感信息的安全,许多Linux系统管理员都会使用gpg进行加密,在使用gpg时,最好指定gpg使用AES256加密算法,AES256使用256位密钥,它是一个开放的加密算法,美国国家安全局(NSA)都使用它保护绝密信息,没有什么比它更安全的了。

8、远程备份服务安全

安全是选择远程备份服务最重要的因素,大多数系统管理员都害怕两件事:(黑客)可以删除备份文件,不能从备份恢复系统。 为了保证备份文件100%的安全,备份服务公司提供远程备份服务器,使用scp脚本或RSYNC通过SSH传输数据,这样,没有人可以直接进入和访问远程系统,因此,也没有人可以从备份服务删除数据。在选择远程备份服务提供商时,最好从多个方面了解其服务强壮性,如果可以,可以亲自测试一下。

9、更新默认内核参数设置

为了顺利和成功运行企业应用程序,如数据库服务器,可能需要更新一些默认的内核参数设置,例如,2.4.x系列内核消息队列参数msgmni有一个默认值(例如,共享内存,或shmmax在Red Hat系统上默认只有33554432字节),它只允许有限的数据库并发连接,下面为数据库服务器更好地运行提供了一些建议值(来自IBM DB2支持网站): kernel.shmmax=268435456 (32位) kernel.shmmax=1073741824 (64位) kernel.msgmni=1024 fs.file-max=8192 kernel.sem=”250 32000 32 1024″

10、优化TCP

优化TCP协议有助于提高网络吞吐量,跨广域网的通信使用的带宽越大,延迟时间越长时,建议使用越大的TCP Linux大小,以提高数据传输速率,TCP Linux大小决定了发送主机在没有收到数据传输确认时,可以向接收主机发送多少数据。

11、选择正确的文件系统

使用ext4文件系统取代ext3 ● Ext4是ext3文件系统的增强版,扩展了存储限制 ●它具有日志功能,保证高水平的数据完整性(在非正常关闭事件中) ●在非正常关闭和重启时,它不需要检查磁盘(这是一个非常耗时的动作) ●更快的写入速度,ext4日志优化了硬盘磁头动作

12、使用noatime文件系统挂载选项

在文件系统启动配置文件fstab中使用noatime选项,如果使用了外部存储,这个挂载选项可以有效改善性能。

13、调整Linux文件描述符限制

Linux限制了任何进程可以打开的文件描述符数量,默认限制是每进程1024,这些限制可能会阻碍基准测试客户端(如httperf和apachebench)和Web服务器本身获得最佳性能,Apache每个连接使用一个进程,因此不会受到影响,但单进程Web服务器,如Zeus是每连接使用一个文件描述符,因此很容易受默认限制的影响。 打开文件限制是一个可以用ulimit命令调整的限制,ulimit -aS命令显示当前的限制,ulimit -aH命令显示硬限制(在未调整/proc中的内核参数前,你不能增加限制)。 Linux第三方应用程序性能技巧 对于运行在Linux上的第三方应用程序,一样有许多性能优化技巧,这些技巧可以帮助你提高Linux服务器的性能,降低运行成本。

14、正确配置MySQL

为了给MySQL分配更多的内存,可设置MySQL缓存大小,要是MySQL服务器实例使用了更多内存,就减少缓存大小,如果MySQL在请求增多时停滞不动,就增加MySQL缓存。

15、正确配置Apache

检查Apache使用了多少内存,再调整StartServers和MinSpareServers参数,以释放更多的内存,将有助于你节省30-40%的内存。 提高监控/故障排除能力的技巧 下面是一些提高Linux服务器监控和故障排除的技巧:

16、分析Linux服务器性能

提高系统效率最好的办法是找出导致整体速度下降的瓶颈并解决掉,下面是找出系统关键瓶颈的一些基本技巧: ● 当大型应用程序,如OpenOffice和Firefox同时运行时,计算机可能会开始变慢,内存不足的出现几率更高。 ● 如果启动时真的很慢,可能是应用程序初次启动需要较长的加载时间,一旦启动好后运行就正常了,否则很可能是硬盘太慢了。 ●CPU负载持续很高,内存也够用,但CPU利用率很低,可以使用CPU负载分析工具监控负载时间。

17、学习5个Linux性能命令

使用几个命令就可以管理Linux系统的性能了,下面列出了5个最常用的Linux性能命令,包括top、vmstat、iostat、free和sar,它们有助于系统管理员快速解决性能问题。 (1)top

Top命令不仅显示了当前内核服务的任务,还显示了许多关于主机状态的统计数据,默认情况下,它每隔5秒自动更新一次显示的数据(这个时间间隔是可以配置的),通过top命令,我们可以得知几个结果,如:当前正常运行时间,系统负载,进程数量和内存使用率,此外,这个命令也显示了那些使用最多CPU时间的进程(包括每个进程的各种信息,如运行用户,执行的命令等)。

(2)vmstat

Vmstat命令提供当前CPU、IO、进程和内存使用率的快照,它和top命令类似,自动更新数据,如:

$ vmstat 10

(3)iostat

Iostat命令(在Ubuntu,Red Hat/Fedora上包含在sysstat软件包中)提供三个报告:CPU利用率、设备利用率和网络文件系统利用率,不加任何参数运行时,iostat将显示这三个报告,使用-c,-d和-h参数可以分别独立显示这三个报告。

(4)free

Free命令显示主内存和交换空间的内存统计数据,指定-t参数可以显示总内存数量,指定-b参数可以按字节为单位进行显示,使用-m则以兆为单位显示,默认情况下是以千字节为单位的。

Free命令也可以使用-s参数加一个延迟时间(单位:秒)连续运行,如:

$ free -s 5

(5)sar

Sar命令收集,查看和记录性能数据,这个命令比前面几个命令历史更悠久,它可以收集和显示较长周期的数据。

18、将日志文件转移到内存中

当一台机器处于运行中时,最好是将系统日志放在内存中,当系统关闭时再将其复制到硬盘,当你运行一台开启了syslog功能的笔记本电脑或移动设备时,ramlog可以帮助你提高系统电池或移动设备闪存驱动器的寿命,使用ramlog的一个好处是,不用再担心某个守护进程每隔30秒向syslog发送一条消息,放在以前,硬盘必须随时保持运转,这样对硬盘和电池都不好。

19、先打包,后写入

在内存中划分出固定大小的空间保存日志文件,这意味着笔记本电脑硬盘不用一直保持运转,只有当某个守护进程需要写入日志时才运转,注意ramlog使用的内存空间大小是固定的,否则系统内存会很快被用光,如果笔记本使用固态硬盘,可以分配50-80MB内存给ramlog使用,ramlog可以减少许多写入周期,极大地提高固态硬盘的使用寿命。

20、一般调优技巧

尽可能使用静态内容替代动态内容,如果你在生成天气预告,或其它每隔1小时就必须更新的数据,最好是写一个程序,每隔1小时生成一个静态的文件,而不是让用户运行一个CGI动态地生成报告。 为动态应用程序选择最快最合适的API,CGI可能最容易编程,但它会为每个请求产生一个进程,通常,这是一个成本很高,且不必要的过程,FastCGI是更好的选择,和Apache的mod_perl一样,都可以极大地提高应用程序的性能。

————————————————————————————————————————————————————————————————————————————————————————————————————————————————

Linux 性能分析以及调优介绍

    写在前面:计算机要解决的基本问题之一是如何在不增添更多硬件能力的情况下使其能够完成更多工作;而我们应用设计的一项重要伸缩性原则是:随着应用的推广和访问流量的增加,通过相应数量的服务器资源来应对;资源的消耗应该随负载线性(或更佳)上升,负载可由用户流量、数据量等测量;可以参考ebay的架构最佳实践:
    http://www.infoq.com/cn/articles/ebay-scalability-best-practices
    
本节介绍linux性能分析工具;下一节介绍各个层面的可调参数;最后一节介绍一个web性能问题分析案例;

  第一节  性能监控 
 1)整体系统cpu利用率 
    系统性能的指标之一就是系统对用户的响应速度。在对系统的方法化分析中,首要且最近本的工具之一常常是对系统的cpu利用率进行简单测量。
    $ uptime 
    10:17:40 up 6 days, 59 min,  6 users,  load average: 0.00, 0.00, 0.00
    主要看load average也就是我们通常说的服务器load(平均负荷值),代表1分钟,5分钟,15分钟
    系统平均负载被定义为在特定时间间隔内运行队列中的平均进程树。如果一个进程满足以下条件则其就会位于运行队列中:
  - 它没有在等待I/O操作的结果
  - 它没有主动进入等待状态(也就是没有调用'wait')
  - 没有被停止(例如:等待终止)
    (但也有例外,看各个系统的计算方式了,我的debian发布版,从man uptime里System load averages is the average number of processes that are either in a runnable or uninterruptable state,可见它包括等待i/o的线程)
   vmstat命令实时监控系统各个方面的数据;例如每隔3秒显示一下系统性能数据:
   $vmstat 3 
    procs -----------memory---------- ---swap-- -----io---- -system-- ----cpu----
     r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa
     1  0 192824  93020 317960 770156    0    1    73    79  114  108 20 23 56  2
     0  0 192824  93012 317960 770164    0    0     0     0  958 2223  7 10 84  0
     procs部分提供了生成报告时正在运行的进程数据(r)以及被阻塞的进程数目(b);
     memory部分提供了换出内存(swpd),空闲内存(free),i/o数据结构的缓冲区缓存(buff),以及从磁盘读取文件的内存缓存(cache)的容量,单位为KB;
     swap部分提供了从磁盘上换入的内存容量(si)以及换出到磁盘上的内存量(so),单位kB/s;
     io部分提供了从设备读入的块数(bi)以及写出到设备上的块数(bo).单位为KB/s;
     system部分提供了每秒的中断数目(in)和上下文切换数目(cs);
     cpu部分提供了用户(us),系统(sy),真正空闲(id),已经等待I/O完成(wa)在cpu总时间中所占百分比。cpu利用率也许是最常用的量度。若wa过大,则应该检查I/O子系统,
        例如,可以判定需要更多的I/O控制器和磁盘以减少I/O等待的时间;
    
    top和gtop命令:提供所有正在运行的进程和系统载荷提供不断更新的概览信息,包括CPU负荷,内存使用以及每隔进程的内存使用情况;
    sar是sysstat工具包的组成部分;它收集并报告错哦阿左系统中广泛的系统活动,包括CPU利用率,上下文切换和中断速率,页换入,和页换出速率,共享内存使用情况,
    设备性能情况,缓冲区使用情况以及网络使用情况;

 2)内存利用率

   工作负荷有可能会耗尽所有可用的内存。Linux提供了对物理内存进行合理,高效的访问并可以访问潜在的海量虚存的技术。虚存通常稍多于操作系统实际拥有的内存容量,以便将较少使用的数据卸载到磁盘存储器上,同时又呈现出系统拥有大量物理内存的假象。糟糕的是,卸载内存的开销可能会比应用延迟高出数十甚至上百倍。如果被换出到磁盘上的内存空间是错误的内存页,或者如果应用程序的当前内存印迹大于物理内存容量的话,那么这些过高的延迟会极大的影响应用的响应时间;

 通过/proc/meminfo和/proc/slabinfo可以监视系统内存资源的整体利用情况;

 可以通过ps aux 查看每个进程消耗系统内存的总体百分比,以及该进程的虚存印迹(VSZ)和当前使用的物理内存量(RSS)。也可以使用top交互式的查看进行列表。然后通过/proc/pid(进行id)/maps查看进行地址空间的所有映射及其大小,等内存分布状况信息。

通过vmstat可以监视内存可用性和交换活动。vmstat可以协助发现异常的系统活动,例如会导致操作系统性能下降的过多的页面错误或上下文切换操作。结合cpu利用率的us,sy,id,wa监视,如果wa的值过大,则要查看I/O系统,结论有可能是需要更多I/O控制器和磁盘以便减少I/O等待时间;

 $vmstat
 procs -----------memory---------- ---swap-- -----io---- -system-- ----cpu----
   r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa
   4  0 306792 159560 228680 298932    0    1    75    84   65   71 19 21 58  2

 


 3)磁盘I/O的利用率和延迟 
    尽管整体的处理器速度,内存大小以及I/O执行速度在不断提高,但I/O操作的吞吐率和延迟性能仍然要比等价的内存访问操作低多个数量级;另外,由于许多工作负荷都
    拥有重要的I/O组件,I/O处理容易成为整体吞吐律和应用整体响应时间的重要瓶颈;以下介绍iostat命令:
    $iostat
    Linux 2.6.32-5-686 (zhaopeng)     07/07/2010     _i686_    (2 CPU)

    avg-cpu:  %user   %nice %system %iowait  %steal   %idle
              18.93    0.50   22.80    1.57    0.00   56.21

    Device:            tps   Blk_read/s   Blk_wrtn/s   Blk_read   Blk_wrtn
    sda               5.63        90.79        99.44   47760868   52308144
    
    iostat报告的CPU利用心里类似于top工具提供的内容;之后给出各个磁盘的利用情况的报告;
    tps列表示发至逻辑磁盘的I/O请求数;Blk_read/s 和Blk_wrtn/s 给出分别对应于读写该逻辑驱动器的数据量,以每秒的块数为单位;
    iostat 默认显示以块为单位,也可以加参数iostat -k 以KB为单位显示;

 4)网络I/O利用率 
    netstat 是监视linux服务器上网络链接的最常用工具之一;该工具可以显示每种网络协议例如TCP和UDP的活跃socket列表,还提供了关于网络路由信息以及网络接口的累积统计数据,包括输入输出报文数量以及报文冲突次数;
    常用的工具:netstat; iftop;ifstat;apache自带的ab测试工具;

 

参考:《linux服务器性能调整》

          《深入理解linux内核》

 

 

上次简单介绍了下,linux的cpu,memory,disk i/o; net i/o 性能监控的一些工具;这节就介绍下,这些层面上出现瓶颈时,怎样调节内核,有那些内核参数可以调节来获得性能的提升; 下节介绍下:怎么识别性能瓶颈,当然只是空想了,怎样识别需要具体问题具体对待了;
      希望对这些参数的介绍使大家对于linux的内核有一定的认识;

 

第一节:cpu 性能瓶颈 
      计算机中,cpu是最重要的一个子系统,负责所有计算任务;基于摩尔定律的发展,cpu是发展最快的一个硬件,所以瓶颈很少出现在cpu上;我们线上环境的cpu都是多核的,并且基于SMP(symmetric multiprocessing)结构的。通过观察线上机器cpu使用率会发现,使用率很低很低,不到5%; 说明我们的资源浪费情况多么严重啊;(但为什么不能一台机器多部署几个应用呢,后边我会解释); 我们线上的cpu一个核支持超级线程,也就是一个核上可以并行运行几个线程)
1. 通过调整进程优先级调整: nice 命令来调整进程优先级别;可调范围(-20到 19) 如: renice 5 pid
2.通过调整cpu的亲和度来集中处理某一个中断类型:将系统发出的中断都绑定在一个cpu上,这样其他cpu继续执行自己正在执行的线程,不被中断打扰,从而较少了线程上下文切换时间,增强性能;
注: cpu亲和度的概念: 在多核cpu中,linux操作系统抢占式调度系统,按照cpu时间片/中断/等 不断调度进程给cpu去执行的;如果在一个时间片调度线程1在cpu1上运行,另外一个时间片调度线程1在cpu2上去运行,这样会造成线程执行速度慢,性能降低。为什么呢? 我们知道SMP上多核都是共享L1 ,L2 CPU Cache的。并且各个核的内存空间都是不可共享的,一个线程如果多次时间片上在不同的cpu上运行,会造成cache的不断失效和写入;性能会降低; 而linux的进程调度有个亲和度算法可以将尽量将进程每次都调度到同一个cpu上处理;linux调度时当然也有Loadbalance算法保证进程调度的均匀负载的;
例如: echo 03 > /proc/irq/19/smp-affinity (将中断类型为19的中断绑定到第三个cpu上处理)


                                                第二节:内存性能瓶颈 
      首先,linux的内存管理是聪明和智能的;linux通过(virtual memory manage)来管理内存的; 对于大多数应用,linux是不直接写到硬盘上去的,而是先写到 virtual memory manage 管理的文件系统缓存(也在内存中的)里 .方便应用的后续的读请求;因为和磁盘的I/O操作是昂贵的;linux会根据一些算法策略适当的时候同步到硬盘的;这就是为什么我们运行linux一段时间后,发现可用内存那么少的原因,多数被cache+buffer占用咧;
所以我们提高性能的办法就是减少写到磁盘的次数,提高每次写磁盘时的效率质量;
1. 通过调节缓存的脏数据同步到硬盘的策略:(脏数据表示没有被当前的线程使用的数据)
例如: echo 10 > /proc/sys/vm/dirty_background_rato (当脏数据占据物理内存10%时,触发pdflush同步到硬盘):小心调节,会大幅度的影响性能;
echo 2000 > /proc/sys/vm/dirty_expire_centisecs (当脏数据在物理内存的逗留时间超过2000ms时被同步到硬盘);
2.通过调节swap参数,来优化linux虚拟内存管理:基于程序的局部性原理,linux通过虚拟内存机制来实现并发运行进程,linux发现物理内存不够用时,会根据LRU算法将一部分内存swap out到硬盘;当运行被换出的那个线程时,在swap in 到内存里;
例如: echo 10 > /proc/sys/vm/swappiness(值为0表示尽量都用物理内存,值为100表示积极的使用swap分区;)这个参数很重要;小心调节; 一般为60; 

                                                   第三节: 磁盘I/O可调性能参数 
           linux的子系统VFS(virtural file system)虚拟文件系统;从高层将各种文件系统,以及底层磁盘特性隐藏,对程序员提供:read,write,delete等文件操作;这就是之所以我们可以在linux上mount多种不同格式的文件系统的,而window确不行; 当然基于:虚拟文件系统,文件系统,文件系统驱动程序,硬件特性方面,都能找到性能瓶颈;
1.选择适合应用的文件系统;
2. 调整进程I/O请求的优先级,分三种级别:1代表 real time ; 2代表best-effort; 3代表idle ;
如:ionice -c1 -p1113(给进程1113的I/O优先级设置为最高优先级)
3.根据应用类型,适当调整page size 和block size;
4.升级驱动程序; 

                                                               第四节 :网络可调性能参数 
对于我们web应用来说,网络性能调整如此重要,linux的网络支持是无与伦比的;是作为网络服务器的首先;对于web服务来说:除了应用的响应速度外,linux网络管理子系统,网卡,带宽都可能成为性能瓶颈;
1.查看网卡设置是否全双工传输的: echtool eth0
2. 设置MTU(最大传输单元),在带宽G以上的时候,要考虑将MTU增大,提高传输性能;如: ifconfig eth0 mtu 9000 up
3. 增加网络数据缓存;传输数据时linux是将包先放入缓存,填满缓存后即发送出去;读操作类似;
sysctl -w net.ipv4.tcp_rmem="4096 87380 8388608" :设置tcp读缓存:最小缓存,初始化时,最大缓存
sysctl -w net.ipv4.tcp_wmem="4096 87380 8388608" :设置tcp写缓存:最小缓存,初始化时,最大缓存
4.禁用window_scaling,并且直接设置window_size;(就像我们经常设置jvm的参数:xms = xmx一样
sysctl -w net.ipv4.tcp_window_scaling=0
5.设置TCP连接可重用性: 对于TIME_OUT状态的TCP连接可用于下一个TCP重用,这样减少了三次握手和创建时间,非常提高性能,尤其对于web server;
如: 开启可重用tcp功能: sysctl -w net.ipv4.tcp_tw_reuse=1 sysctl -w net.ipv4.tcp_tw_recyle=1 
6.禁用掉没必要的tcp/ip协议功能:比如icmp;broadcast包的接收;
7. linux对于keeplive的tcp连接有一个默认的过期时间;可以减小这个时间,让没用的连接释放掉,毕竟tcp连接数是有限的嘛;
如: sysctl -w net.ipv4.tcp_keepalive_time=1800 (设置过期时间,1800s)
8.设置最大tcp正在连接状态(还没ESTABLISHED)队列长度;避免由于太多的tcp连接过来,导致服务器挂掉;比如DoS攻击
如:sysctl -w net.ipv4.tcp_max_syn_backlog=4096
9. 绑定tcp类型的中断到一个cpu上;(让cpu去亲和这个类型中断,避免频繁的中断,影响线程调度性能) 


          总结: 我们在性能优化一个应用时,首要的是设定优化要达到的目标,然后寻找瓶颈,调整参数,达到优化目的;但是寻找瓶颈时可能是最累的,要从大范围,通过很多用例,很多测试报告,不断的缩小范围,最终确定瓶颈点;以上这些参数只是个认识,系统性能优化中可能用到,但并不是放之四海而皆准的; 有的参数要边测试,边调整的;

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值