Articles of 性能调优

configurationNTFS文件系统的性能

我们有一个应用程序计划存储大约1.1TB的XML文件,平均大小为8.5kb。 这些代表了18个月的滚动数据,每天创build大约20万个新文件。 每个文件只会被写入一次,然后在接下来的18个月内有3%的几率被读取一小部分(<10)次。 有哪些NTFS选项对我们开放将有助于提升性能? 目前在我们名单上的是: 禁用8.3名称创build 限制一个目录中的文件数量(数量还在争论中…) 编辑 关于碎片:我们计划使用2k簇大小来提高磁盘空间的使用效率。 每个文件将只写一次(即没有文件编辑)。 文件将在18个月后每天被删除。 因此,我们不相信分裂将是一个重大问题。

为什么要在FreeBSD中更改net.inet.tcp.tcbhashsize?

在几乎每个FreeBSDnetworking调优文档中,我都可以find: # /boot/loader.conf net.inet.tcp.tcbhashsize=4096 这通常与一些无用的语句,如“TCP控制块散列表调整”或“将其设置为合理的值”配对。 man 4 tcp也没有太大的帮助: tcbhashsize Size of the TCP control-block hash table (read-only). This may be tuned using the kernel option TCBHASHSIZE or by setting net.inet.tcp.tcbhashsize in the loader(8). 我能find的唯一一个涉及这个神秘事物的文档是传输层下优化FreeBSD IP和TCP堆栈中的协议控制块查找小节,但其描述更多地是关于使用它的潜在瓶颈。 它似乎绑定到匹配新的TCP段到他们的侦听套接字,但我不知道如何。 什么是TCP控制块用于? 你为什么要设置其散列大小为4096或任何其他特定的数字?

SHOWPLAN权限对SQL Server 2005有什么影响?

用户需要SHOWPLAN权限才能使用“执行计划”调整查询。 这个许可的含义是什么? 授予用户安全吗? 我已经看到了这里的安全说明,这不关心这个用户。 还有其他问题需要注意吗? 从我所看到的,即使在生产数据库上,给用户这个权限似乎也不是问题。 谢谢您的帮助!

局域网的Windows 7networking性能调整

我想在Windows环境中调整Windows 7 TCP堆栈的速度。 背景信息的位:我已经有一个Citrix XenServer与Windows 2008R2,Windows 7和Debian Lenny搭配Citrix内核,Windows机器上安装了iperf服务器进程,运行在不同的主机上,还有Debian Lenny。 服务器是空闲的,testing重复了几次,以确认结果。 虽然使用iperf 2008R2进行testing可以达到600-700Mbps左右的速度,但无法调整,但我无法find任何指南或参数设置,使Windows 7实现超过150Mbps的任何事情,而不会改变TCP窗口大小,使用-w参数iperf 。 我尝试使用netsh autotuining disabled , experimental , normal和highlyrestricted – 没有改变。 改变congestionprovider者不会做任何事情,就像rss和chimney 。 将所有可用的设置设置为与Windows 2008R2主机上相同的值不起作用。 总结: Windows 2008R2默认设置:600-700Mbps Debian,默认设置:600Mbps Windows 7默认设置:120Mbps Windows 7默认, iperf -w 65536 :400-500Mbps 虽然缺less的400Mbps的性能,我责怪蹩脚的Realtek网卡在XenServer主机(我可以做〜980Mbps从我的笔记本电脑到iperf服务器),这并不能解释为什么Windows 7无法实现良好的性能没有手动调整窗口大小应用程序级别。 那么,如何调整Windows 7呢?

当Apache到达MaxClients时,用户会看到什么?

偶尔在我的Apache错误日志中,我会发现: [error] server reached MaxClients setting, consider raising the MaxClients setting 由于内存不足的问题,我特意降低了MaxClients(到60),但是我想知道在服务器上达到这个限制时,用户端发生了什么。 他们访问的页面是否需要更长时间才能加载? 他们是否得到某种错误信息?

postgres stats收集器进程生成的I / O太多

我正在使用具有本地postgres数据库的多个虚拟机的XenServer。 即使所有应用程序未使用且数据库处于空闲状态,每个虚拟机也会导致恒定的存储networkingstream量,从而降低了iscsi存储设备的性能。 运行iotop之后,我注意到postgres stats收集器进程正在不断地以大约2 MByte / s的速率写入磁盘。 然后我通过编辑/etc/postgresql/8.4/main/postgresql.conf禁用收集统计信息: #—————————————————————————— # RUNTIME STATISTICS #—————————————————————————— # – Query/Index Statistics Collector – track_activities = off track_counts = off … 如http://www.postgresql.org/docs/8.4/static/runtime-config-statistics.htm中所build议的那样。 这消除了连续写作,但closures统计跟踪有什么不利之处吗? 还是应该将pg_stat_tmp目录放在虚拟硬盘上以避免磁盘/networkingstream量? 该系统是一个最新的Debian 6.0.7(squeeze)与postgres 8.4和约20个数据库约50表,总转储文件大小小于100 MByte。

你有什么技巧来优化你的Subversionconfiguration?

对于Linux或Windows系统,你有什么技巧来优化你的Subversion服务器? 以下是我目前使用HTTPS通过Apache提供服务的Linux系统的技巧,以及使用LDAP身份validation的Active Directory支持的技巧。 在Apache上启用KeepAlive 禁用SVNPathAuthz 增加LDAPcaching 使用FSFS存储方法而不是BDB 随意将此称为问题。 我没有硬性的证据certificateFSFS只能执行BDB,只有很多部落的知识和传闻。

我怎么知道我接近somaxconn有多近?

sysctl选项net.core.somaxconn默认为128(在我们的系统上),但是可以引发。 这个限制测量和封顶到底是什么? 我怎么知道我有多接近极限? 背景:最近我有一个问题,似乎是通过提高这个限制来纠正的。 问题是间歇性的,所以我不相信它是真的修好了。 我想知道[无论这个设置上限]的当前数量是否大于以前的最大限制128。

解释ethtool合并输出

除了tx和rx是传输和接收,任何人都可以解释在ethtool -c (合并输出)中字段的含义,以及它们对合并的工作有什么影响? Coalesce parameters for eth0: Adaptive RX: off TX: off stats-block-usecs: 999936 sample-interval: 0 pkt-rate-low: 0 pkt-rate-high: 0 rx-usecs: 18 rx-frames: 12 rx-usecs-irq: 18 rx-frames-irq: 2 tx-usecs: 80 tx-frames: 20 tx-usecs-irq: 18 tx-frames-irq: 2 rx-usecs-low: 0 rx-frame-low: 0 tx-usecs-low: 0 tx-frame-low: 0 rx-usecs-high: 0 rx-frame-high: 0 tx-usecs-high: 0 tx-frame-high: 0

后缀的性能

在ubuntu上运行postfix,每天发送大量的邮件(大约100万条消息)。 负载是极高的,但在CPU和内存负载方面并不多。 任何人在类似的情况下,知道如何消除瓶颈? 此服务器上的所有邮件都是出站的。 我将不得不假设瓶颈是磁盘。 只是一个更新,这里是iostat的样子: avg-cpu: %user %nice %system %iowait %steal %idle 0.00 0.00 0.12 99.88 0.00 0.00 Device: rrqm/s wrqm/sr/sw/s rsec/s wsec/s avgrq-sz avgqu-sz await svctm %util sda 0.00 12.38 0.00 2.48 0.00 118.81 48.00 0.00 0.00 0.00 0.00 sdb 1.49 22.28 72.28 42.57 629.70 1041.58 14.55 135.56 834.31 8.71 100.00 这些数字是否与单个磁盘所期望的性能一致? sdb专用于后缀。 […]