- 浏览: 851122 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
zjhzwx1212:
为什么用threadLocal后,输出值是从20开始的,而定义 ...
j2ee的线程安全--threadlocal -
aeoluspu:
不错 mysql 测试部分感觉不详细
用sysbench(或者super-smack)测试mysql性能 -
nanPrivate:
有没有例子,只理论,实践起来还是不会啊
JMS可靠消息传送 -
lwclover:
一个网络工程师 装什么b
postfix 如何删除队列中的邮件 -
maimode:
我也欠缺不少啊
理想的计算机科学知识体系
http://steve.chinavfx.net/?p=42
不知道有多少公司的内部打印及文件服务器是用的Linux,我想肯定不会太多,因为Windows实现起来更方便,更快速,当然,Windows也 是更Danger。 因为Windows有太多不确定性的东西,Virus,木马,等等。
但Linux也不见得太安全,不过因为我对Linux非常熟了,而且在Windows下面不了解,所以公司的文件服务器和打印服务器都是在一台机器 上面实现的, 同时这台服务器还管理公司网络的DHCP和DNS服务。
年初的时候,因为binutils的新版本的一些Optimize,所以把服务器的Linux重新做了,也换成了selinux,不过Gentoo 下的selinux真是想让人死。。 x86下面没什么问题,amd64下面,如果你是用multilib的,那我不清楚,我只用amd64的ABI,没有multilib, 在这种情况下,Gentoo的selinux会有不少问题。根本不可能用enforce模式。
就这样用了近半年,网络性能一直很差,从服务器上Copy文件或者反过来,性能都很差, 看看Windows的Task Manager里面的Networking,LAN的使用率最多也只能在40%左右,这个也太低了点吧?想办法解决一下。
先google了一下,发现IPv4可以有一些调整. 主要是下面几个参数:
- /proc/sys/net/core/rmem_default 定义默认的接收窗口大小;对于更大的 BDP 来说,这个大小也应该更大。
- /proc/sys/net/core/rmem_max 定义接收窗口的最大大小;对于更大的 BDP 来说,这个大小也应该更大。
- /proc/sys/net/core/wmem_default 定义默认的发送窗口大小;对于更大的 BDP 来说,这个大小也应该更大。
- /proc/sys/net/core/wmem_max 定义发送窗口的最大大小;对于更大的 BDP 来说,这个大小也应该更大。
- /proc/sys/net/ipv4/tcp_window_scaling 启用 RFC 1323 定义的 window scaling;要支持超过 64KB 的窗口,必须启用该值。
- /proc/sys/net/ipv4/tcp_sack 启用有选择的应答(Selective Acknowledgment),这可以通过有选择地应答乱序接收到的报文来提高性能(这样可以让发送者只发送丢失的报文段);(对于广域网通信来说)这 个选项应该启用,但是这会增加对 CPU 的占用。
- /proc/sys/net/ipv4/tcp_fack 启用转发应答(Forward Acknowledgment),这可以进行有选择应答(SACK)从而减少拥塞情况的发生;这个选项也应该启用。
- /proc/sys/net/ipv4/tcp_timestamps 以一种比重发超时更精确的方法(请参阅 RFC 1323)来启用对 RTT 的计算;为了实现更好的性能应该启用这个选项。
- /proc/sys/net/ipv4/tcp_mem 确定 TCP 栈应该如何反映内存使用;每个值的单位都是内存页(通常是 4KB)。第一个值是内存使用的下限。第二个值是内存压力模式开始对缓冲区使用应用压力的上限。第三个值是内存上限。在这个层次上可以将报文丢弃,从而减 少对内存的使用。对于较大的 BDP 可以增大这些值(但是要记住,其单位是内存页,而不是字节)。
- /proc/sys/net/ipv4/tcp_wmem 为自动调优定义每个 socket 使用的内存。第一个值是为 socket 的发送缓冲区分配的最少字节数。第二个值是默认值(该值会被 wmem_default 覆盖),缓冲区在系统负载不重的情况下可以增长到这个值。第三个值是发送缓冲区空间的最大字节数(该值会被 wmem_max 覆盖)。
- /proc/sys/net/ipv4/tcp_rmem 与 tcp_wmem 类似,不过它表示的是为自动调优所使用的接收缓冲区的值。
- /proc/sys/net/ipv4/tcp_low_latency 允许 TCP/IP 栈适应在高吞吐量情况下低延时的情况;这个选项应该禁用。
- /proc/sys/net/ipv4/tcp_westwood 启用发送者端的拥塞控制算法,它可以维护对吞吐量的评估,并试图对带宽的整体利用情况进行优化;对于 WAN 通信来说应该启用这个选项。
- /proc/sys/net/ipv4/tcp_bic 为快速长距离网络启用 Binary Increase Congestion;这样可以更好地利用以 GB 速度进行操作的链接;对于 WAN 通信应该启用这个选项。
(以上内容引自http://www.ibm.com/developerworks/cn/linux/l-hisock.html )
看了上面的内容,我对自己的服务器调整了一下,加了下面几个参数到sysctl.conf里面
net.core.rmem_max = 8388608
net.core.wmem_max = 8388608
net.ipv4.tcp_rmem = 8192 4194304 8388608
net.ipv4.tcp_wmem = 4096 2097152 8388608
再去试了一下Copy文件,速度果然有5%-8%的提高,那么,下面的问题,就是samba的性能了。去samba的网站看看它的howto, 里面提高几个问题,一个是samba如何log,这个会对性能有一定的影响,但不大,最多也就是百分之几的差别。仔细看了howto以后,我设了如下几个 参数:
# Some other performace tuning options
# disable links and symbol links
follow symlinks = no
wide links = no
# enable some read/write tuning
use sendfile = yes
read raw = yes
write raw = yes
aio read size = 16384
aio write size = 16384
write cache size = 262144
max xmit = 65536
large readwrite = yes
getwd cache = yes
# disable locking, because only 2 share can be written.
strict locking = no
fake oplocks = yes
oplocks = no
来说明一下,
- follow symlinks ,对我来说不需要,Windows好象不支持这种符号连接,我也不需要在共享里有这个东西,所以关闭
- wide links,同上,不需要
- aio read/write size,是和异步读写有关的,设大一点比较好
- oplocks和locking这两个决定samba是否对文件进行lock测试,如果一个用户以write方式打开了这个文件,那么其它用户就 不能再以write打开,这两个东西很费内存,也同样会降低samba的性能。 另外,我有很多个share,其中只有两个是所有人都可以写的,其它的都只有一个用户能写,对于后者,不需要打开这个,因为共享设计就是别人无法写。 那么就在global里面把这几个和lock有关的参数关掉,在那两个所有人可以写的share再打开。
- 所有基它的参数,都是samba里面提到的performance tunning的参数我就不一个一个的说了,要了解它的可以去 http://us1.samba.org/samba/docs/man/Samba-HOWTO-Collection/ 看 看
好了,samba也调整了,再试一下copy文件。WOW~~ 网络占用率达到了80%,提高了一倍!! 当然,所有的有数值的参数,都是需要对应实际应用来调整的,我在这里只是简单的设了一下,性能就提高一倍多,相信仔细调整后网络占用率应该能达到与 Windows相当的水平,也就是80%~90%
发表评论
-
sysctl.conf
2011-07-06 14:54 1754fs.file-max=51200 net.core.net ... -
top的替代工具
2011-06-28 15:06 1470dstat -cgilpymn collectl and ... -
有用的小工具
2010-12-23 11:51 1349pv stream nessus Nikto ski ... -
调优linux i/o 行为
2010-11-25 11:27 2918http://www.westnet.com/~gsmith/ ... -
服务器部署工具
2010-11-12 16:32 2057http://www.linuxlinks.com/artic ... -
开源的配置管理工具
2010-11-12 16:24 1473最佳开源配置管理工具: Puppet / 提名:OpenQ ... -
优化ext3的mount选项
2010-11-12 10:24 1351defaults,commit=600,noatime,nod ... -
恢复r710biso 出厂设置
2010-11-10 10:30 1222ALT+E/F/B -
每进程io监控工具
2010-11-02 14:14 1662iodump iotop iopp pidstat b ... -
Intel Xeon 5500/5600系列 CPU服务器内存设置
2010-11-01 21:29 4846http://www.xasun.com/article/2a ... -
zabbix短信报警脚本文件
2010-10-21 14:28 2790附件 -
天外飞仙级别的Linux Shell命令
2010-10-16 09:59 1447本文编译自commandlinefu.com ( 应该是 Ca ... -
lenny+r710+lvm 重启问题解决方案
2010-10-15 14:22 1127ro rootdelay=10 quiet -
fai,debian 自动安装工具
2010-10-15 13:36 1116http://sys.firnow.com/linux/x80 ... -
十个服务器监控工具
2010-09-26 11:44 1831一位国外的技术博主在 ... -
restrict authorized_keys
2010-09-06 09:45 1264command="/home/someuser/rs ... -
sysctl优化设置
2010-09-05 11:25 1142sysctl 是一个用来在系统运作中查看及调整系统参数的工 ... -
proc文件系统
2010-09-05 11:22 1257什么是proc文件系统? proc文件系统是一个伪 ... -
nfs使用
2010-09-02 17:01 1154http://www.linuxhomenetworking. ... -
lsof example
2010-08-23 12:40 12721、查看文件系统阻塞 ...
相关推荐
Samba服务器源码包是一个专为Linux和Unix系统设计的开源软件,用于在这些系统上实现Windows网络兼容性。这个源码包包含了samba的...无论是对Samba的性能调优、安全强化还是功能扩展,这个源码包都提供了宝贵的资源。
- **性能调优**:针对嵌入式环境,可能需要限制并发连接数、启用缓存策略、调整日志级别等,以优化资源使用和提高响应速度。 4. **文件系统兼容性**: - **FAT和NTFS支持**:Samba需要与Windows常用的FAT和NTFS...
其次,对操作系统和Samba服务进行性能调优,包括调整内核参数、优化网络设置、合理分配系统资源等,以提升整体服务效率。 此外,文章还可能讨论了如何实现用户身份验证、权限管理以及数据备份和恢复策略,以确保...
答:性能调优涉及内存、CPU、磁盘I/O和网络等方面的优化。可以调整内核参数,优化进程调度,使用缓存和内存管理策略,以及优化网络设置以提升系统性能。 36. 什么是Docker,如何在Linux上安装和使用?答:Docker是...
2. **系统性能调优**:文档可能详细介绍了如何针对安腾服务器的特性进行系统性能调优,包括内核参数调整、磁盘I/O优化、网络性能提升等。 3. **安全性**:SuSE Linux以安全著称,可能包含了如何配置防火墙、实现...
3. **性能调优**:详细介绍如何通过调整内核参数、内存管理、进程调度等来提升系统性能,确保系统在高负载下稳定运行。 4. **故障排查与诊断**:提供解决硬件和软件问题的方法,包括日志分析、系统监控工具的使用,...
9. **故障诊断与性能优化**:掌握使用sysdiag、iostat、vmstat等工具进行故障排查和性能调优的方法。 10. **系统升级与补丁管理**:了解如何通过LPAR(Logical Partition)进行系统升级,以及如何应用IBM的Service ...
#### 5.1 性能调优 - **索引优化**:合理设置索引可以显著提高查询速度。 - **缓存机制**:使用缓存可以减少对后端数据库的访问频率,提升响应速度。 #### 5.2 监控与日志 - **监控工具**:如syslog、monit等,用于...
十、系统性能调优 了解如何调整内核参数、优化I/O性能、内存管理以及CPU调度策略,对于提升Linux服务器的整体性能至关重要。 总的来说,理解并掌握这些GNU/Linux高级网络应用服务不仅有助于提升服务器的效率,也能...
7. **性能监控与调优**:如何使用工具(如top、vmstat、iostat)监控系统状态,并进行性能调优,确保服务器高效运行。 8. **备份与恢复**:介绍备份策略,包括磁带备份、网络备份以及如何在灾难发生时恢复数据。 9...
- **MySQL数据库服务器企业实战**:掌握MySQL的安装、配置、备份、恢复及性能调优。 - **LAMP企业架构实战**:搭建Linux + Apache + MySQL + PHP的Web服务架构。 - **Zabbix分布式监控系统实战**:学习使用Zabbix...
10. **故障排查与性能调优**:学会使用调试工具(strace, lsof, sysdig等)进行问题诊断,理解性能监控工具(iostat, vmstat, sar)的使用,以及如何调整系统参数优化性能。 以上只是《Linux管理员指南》中部分核心...
8. **系统监控与性能调优**:利用工具如top、iotop、iftop监测系统资源,进行性能优化。 9. **计划任务Cron**:设置定时任务,实现自动化运维。 10. **Shell脚本编程**:编写和调试Shell脚本,实现批处理任务。 ...
标题:“面试题.md” 描述:“面试题.md” 文件...这些知识点涵盖了IT领域中的多个重要方面,从基础命令的使用到系统配置,再到网络服务和性能调优。掌握这些知识对于任何希望在IT行业工作的专业人士来说都是必备的。
3. **SystemTap**:这是一个动态跟踪工具,用户无需修改源代码或重新编译即可收集和分析系统运行时的信息,有助于系统故障诊断和性能调优。 4. **KVM(Kernel-based Virtual Machine)**:虽然RHEL 5主要依赖Xen...
2. **性能调优**: 调整内核参数、优化硬件配置以提升系统性能。 以上只是RHEL AS4系统管理的冰山一角,实际运维工作中还需要掌握更多高级概念,如集群、高可用性、负载均衡等。深入理解并熟练运用这些知识,能让你...
- **性能调优**:通过分析性能瓶颈,优化驱动代码。 #### 四、注意事项 - **版权说明**:ECR6600 SDK 开发指南的版权归属北京奕斯伟计算技术股份有限公司所有,不得非法复制或传播。 - **商业机密**:文档中的信息...
5. **系统监控与性能调优**:使用ps、top、prstat等命令监控系统资源,以及使用DTrace进行性能分析和故障排查。 6. **服务管理**:Service Management Framework (SMF)的工作原理,如何启动、停止和管理服务,以及...