性能调优

浅谈linux性能调优之十五:常见网络参数整理

孤人 提交于 2019-12-13 21:29:25
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 1.tcp连接保持管理: net.ipv4.tcp_keepalive_time = 7200 如果在该参数指定时间内某条连接处于空闲状态,则内核向远程主机发起探测 net.ipv4.tcp_keepalive_intvl = 75 内核向远程主机发送的保活探测的时间间隔 net.ipv4.tcp_keepalive_probes = 9 内核发送保活探测的最大次数,如果探测次数大于这个数,则断定远程主机不可达,则关闭该连接并释放本地资源 一个连接7200s空闲后,内核会每隔75秒去重试,若连续9次则放弃。这样就导致一个连接经过2h11min的时间才能被丢弃,降低该值能够尽量减小 失效连接所占用的资源,而被新的连接所使用。 2.tcp连接管理: net.core.netdev_max_backlog=3000 该文件表示在每个网络接口接收数据包的速率比内核处理这些包的速率快时,允许送到队列的数据包的最大数目。 net.ipv4.tcp_max_syn_backlog = 1024 控制每个端口的tcp syn的队列长度,来自客户端的连接请求需要排队,直至服务器接受,如果连接请求数大于该值,则连接请求会被丢弃,客户端无法 连接服务器,一般服务器要提高此值 net.ipv4.tcp_synack_retries =

提高 ASP.NET Web 应用性能的 24 种方法和技巧

ⅰ亾dé卋堺 提交于 2019-12-10 05:19:59
在这篇文章中,将介绍一些提高 ASP.NET Web 应用性能的方法和技巧。众所周知,解决性能问题是一项繁琐的工作,当出现性能问题,每个人都会归咎于编写代码的开发人员。 那性能问题到底该如何解决?<br> 以下是应用系统发布前,作为 .NET 开发人员需要检查的点。 1.debug=「false」 当创建 ASP.NET Web应用程序,默认设置为「true」。开发过程中,设置为「true」是非常有用多,但在应用程序发布部署时,需将其设置为「false」。 <compilation defaultLanguage="C#" debug="false" targetFramework="4.0" /> 2.关闭 tracing(追踪) tracing 是非常可怕的,你有没有忘记关闭它。假如没用,请确定编辑 web.config 并且关闭它。它将占用大量您的程序资源。 <trace enabled="false" requestLimit=”10” pageoutput=”false” traceMode=”SortByTime” localOnly=”true”> 3.禁用 session 假如您用不到 session 会话跟踪请务必禁用它。您可以在每个 asp.net 页面中设置如下: <%@ page language="c#" codebehind="webform1.aspx

浅谈linux性能调优之九:改变系统默认限制

泄露秘密 提交于 2019-12-07 12:31:13
看了前两篇,我们都是在想办法节省资源给我们真正的服务。问题:我们的服务真的使用了吗 ? 答案是否定的,因为系统默认会有一些限制,这些限制也导致了我们应用的限制。这节我们说说linux下面的资源限制,我们来看看下面的数据: [root @localhost Desktop]# ulimit -a core file size (blocks, -c) 0 data seg size (kbytes, -d) unlimited scheduling priority (-e) 0 file size (blocks, -f) unlimited pending signals (-i) 15311 max locked memory (kbytes, -l) 64 max memory size (kbytes, -m) unlimited open files (-n) 1024 注意! pipe size (512 bytes, -p) 8 POSIX message queues (bytes, -q) 819200 real-time priority (-r) 0 stack size (kbytes, -s) 10240 cpu time (seconds, -t) unlimited max user processes (-u) 1024 virtual memory

浅谈linux性能调优之九:改变系统默认限制

烂漫一生 提交于 2019-12-07 12:31:03
看了前两篇,我们都是在想办法节省资源给我们真正的服务。问题:我们的服务真的使用了吗 ? 答案是否定的,因为系统默认会有一些限制,这些限制也导致了我们应用的限制。这节我们说说linux下面的资源限制,我们来看看下面的数据: [root @localhost Desktop]# ulimit -a core file size (blocks, -c) 0 data seg size (kbytes, -d) unlimited scheduling priority (-e) 0 file size (blocks, -f) unlimited pending signals (-i) 15311 max locked memory (kbytes, -l) 64 max memory size (kbytes, -m) unlimited open files (-n) 1024 注意! pipe size (512 bytes, -p) 8 POSIX message queues (bytes, -q) 819200 real-time priority (-r) 0 stack size (kbytes, -s) 10240 cpu time (seconds, -t) unlimited max user processes (-u) 1024 virtual memory

浅谈linux性能调优之十二:红帽优化策略Tuned

末鹿安然 提交于 2019-12-01 17:07:07
红帽推出的一个动态调优方案,用户可以在不同的时间段内采用不同的调优方案。由于以服务进程形式存在,就可以很方便的和crontab结合!Tuned 是监控并收集各个系统组件用量数据的守护进程,并可使用那些信息根据需要动态调整系统设置。它可以对 CPU 和网络使用的更改作出反应,并调整设置以提高活动设备的性能或者降低不活跃设备的电源消耗。 伴随它的工具 ktune 结合 tuned-adm 工具提供大量预先配置的调整分析以便在大量具体使用案例中提高性能并降低能耗。编辑这些配置或者创建新配置可生成为系统定制的性能解决方案。 安装:yum install tuned -y 启动:/etc/init.d/tuned start /etc/init.d/ktune start 查看系统中对于不同应用场景的调优方案 [root @localhost Desktop]# tuned-adm list Available profiles: - default - enterprise-storage - server-powersave - throughput-performance - desktop-powersave - laptop-ac-powersave - latency-performance - laptop-battery-powersave - spindown-disk

浅谈linux性能调优之一:磁盘分区策略

回眸只為那壹抹淺笑 提交于 2019-11-30 11:50:23
对于服务器而言,不管是windows系统,linux系统,分区情况影响系统性能.磁盘分区之后再格式化成某一格式的系统文件,最后在存储用户或系统数据,数据所在分区容易读到数据则响应速度越快.当然也有相反的情况,严重可出现“数据饥饿” 在这之前我们必须先了解磁盘的一些特性(影响I/O的物理因素): 1> 存储密度 (越靠外道存储密度越大),(转速相同,靠外数据读入较多) -----存放用户数据 划分分区:在磁盘上划分一定范围内的扇区 格式化:在分区基础上,标识每个扇区 划分分区速度 > 格式化速度 注意:分区号越低越在外边 2> 总线速度远远低于kernel处理 3> 寻道时间(在不同磁道切换的时间) 在看一张磁盘结构图: 大家先了解“扇区是从外围开始计数的”,具体可以在网上找一些资料参考一下,默认分区都是从外围开始的,但是我们在使用时必须结合磁盘的物理属性和自己的需求来划分分区。原则:越是频繁访问的数据,存储在磁盘的最外侧。 实施1:安装rhel6.0时,无法指定起始扇区号,只能在划分分区时要不就先划分一些存储频繁访问的分区,剩下的给系统使用。 注意:分区编号低的给频繁访问的数据 实施2:要不就自己计算使用具体的柱面数,自己指定起始位置(这种情况下一定要做好记录) 一个柱面大概7M 下面给出一些建议: 1./,swap,/var,/home,

实战Nginx与PHP(FastCGI)的安装、配置与优化

你说的曾经没有我的故事 提交于 2019-11-30 07:38:06
一、什么是 FastCGI FastCGI是一个可伸缩地、高速地在HTTP server和动态脚本语言间通信的接口。多数流行的HTTP server都支持FastCGI,包括Apache、 Nginx 和lighttpd等,同时,FastCGI也被许多脚本语言所支持,其中就有 PHP 。 FastCGI是从CGI发展改进而来的。传统CGI接口方式的主要缺点是性能很差,因为每次HTTP 服务器 遇到动态程序时都需要重新启动脚本解析器来执行解析,然后结果被返回给HTTP服务器。这在处理高并发访问时,几乎是不可用的。另外传统的CGI接口方式安全性也很差,现在已经很少被使用了。 FastCGI接口方式采用C/S结构,可以将HTTP服务器和脚本解析服务器分开,同时在脚本解析服务器上启动一个或者多个脚本解析守护进程。当HTTP服务器每次遇到动态程序时,可以将其直接交付给FastCGI进程来执行,然后将得到的结果返回给 浏览器 。这种方式可以让HTTP服务器专一地处理静态请求或者将动态脚本服务器的结果返回给客户端,这在很大程度上提高了整个应用系统的性能。 二、Nginx+FastCGI运行原理 Nginx不支持对外部程序的直接调用或者解析,所有的外部程序(包括PHP)必须通过FastCGI接口来调用。FastCGI接口在 Linux 下 是socket,(这个socket可以是文件socket

浅谈linux性能优化之二十一:分析邮件系统

不问归期 提交于 2019-11-29 09:37:19
邮件应用服务可以允许延迟,没有像web,数据库那样实时性要求强,响应快。对于这种应用在设计上就比较特别,我给出postfix的进程信息: # service type private unpriv chroot wakeup maxproc command + args # (yes) (yes) (yes) (never) (100) # ========================================================================== smtp inet n - n - - smtpd #628 inet n - n - - qmqpd pickup fifo n - n 60 1 pickup cleanup unix n - n - 0 cleanup qmgr fifo n - n 300 1 qmgr #qmgr fifo n - n 300 1 oqmgr tlsmgr unix - - n 1000? 1 tlsmgr rewrite unix - - n - - trivial-rewrite bounce unix - - n - 0 bounce defer unix - - n - 0 bounce trace unix - - n - 0 bounce verify unix - - n - 1

002_JVM内存结构及调优学习

陌路散爱 提交于 2019-11-27 20:11:18
1. 常遇到关于内存溢出的错误 java.lang包下 StackOverflowError 很少 OutOfMemoryError: heap space(堆空间) 比较常见 OutOfMemoryError: PermGen space 经常出现 2. Java虚拟机结构和属性 内存区域: 保存java类和对象的物理区域 堆: Java的内存区域叫做堆(heap) 堆被分成3个区域: 新域(young generation)、旧域(tenured generation)、永久域(perm generation) 标记为virtual的部分被保留下来,必要时才分配出去。 新域: 有Eden和两个救助空间survivor组成,新对象存放在Eden中 旧域: 对象在两个救助空间survivor之间移动,当它们足够"老",能够被移入到保存生存期较长对象的旧域 永久域: 在虚拟机的整个生存期都生存的对象 常用虚拟机配置选项属性 -Xmx Java Heap最大值,默认值为物理内存的1/4,最佳设值应该视物理内存大小及计算机内其他内存开销而定; -Xms Java Heap初始值,Server端JVM最好将-Xms和-Xmx设为相同值,开发测试机JVM可以保留默认值; -Xmn Java Heap Young区大小,不熟悉最好保留默认值; -Xss 每个线程的Stack大小