Questions tagged «performance-tuning»

性能调整是修改系统以提高其效率的过程。这也称为优化。

4
FreeBSD性能调整:Sysctl参数,loader.conf,内核
我想通过sysctl.conf/ loader.conf / KENCONF/等分享关于调优FreeBSD的知识。它最初是基于Igor Sysoev(nginx的作者)的演讲,内容涉及FreeBSD调优多达100,000-200,000个活动连接。较新版本的FreeBSD可以处理更多功能。 调整适用于FreeBSD7-FreeBSD-CURRENT。由于7.2 amd64,其中的一些默认情况下调整良好。在7.0之前的版本中,其中一些仅是引导(通过设置 /boot/loader.conf)或根本不存在。 sysctl.conf: # No zero mapping feature # May break wine # (There are also reports about broken samba3) #security.bsd.map_at_zero=0 # Servers with threading software apache2 / Pound may want to rise following sysctl #kern.threads.max_threads_per_proc=4096 # Max backlog size # Note Application can …

2
为什么我的裸机16x 2.93GHz内核计算机的性能比具有4x 2.5GHz内核的VPS差?
我编写了一个多线程软件,每天进行大量模拟。这是一项非常占用CPU的任务,我一直在云服务上运行此程序,通常在每个内核1GB之类的配置上运行。 我正在运行CentOS 6.7,/proc/cpuinfo这使我的四个VPS内核为2.5GHz。 processor : 3 vendor_id : GenuineIntel cpu family : 6 model : 63 model name : Intel(R) Xeon(R) CPU E5-2680 v3 @ 2.50GHz stepping : 2 microcode : 1 cpu MHz : 2499.992 cache size : 30720 KB physical id : 3 siblings : 1 core id …

3
Linux-实际硬件RAID控制器调整(scsi和cciss)
我管理的大多数Linux系统都具有硬件RAID控制器(主要是HP Smart Array)。他们都在运行RHEL或CentOS。 我正在寻找现实世界中的可调参数,以帮助优化设置的性能,这些设置将硬件RAID控制器与SAS磁盘(智能阵列,Perc,LSI等)和电池后备或闪存后备缓存结合在一起。假设RAID 1 + 0和多个主轴(4+个磁盘)。 我花了大量时间为低延迟和金融交易应用程序调整Linux网络设置。但是,这些选项中的许多选项都有充分的文档记录(更改发送/接收缓冲区,修改TCP窗口设置等)。工程师在存储方面正在做什么? 从历史上看,我对I / O调度电梯进行了更改,最近选择了deadline和noop调度程序来提高应用程序的性能。随着RHEL版本的发展,我还注意到SCSI和CCISS块设备的已编译默认值也已更改。随着时间的推移,这对建议的存储子系统设置产生了影响。但是,自从我看到任何明确的建议以来已经有一段时间了。而且我知道操作系统默认设置不是最佳的。例如,对于服务器级硬件上的部署而言,默认的128kb预读缓冲区似乎很小。 以下文章探讨了在块队列上更改预读缓存和nr_requests值对性能的影响。 http://zackreed.me/articles/54-hp-smart-array-p410-controller-tuning http://www.overclock.net/t/515068/tuning-a-hp-smart-array-p400-with -linux-why-tuning-really-matters http://yoshinorimatsunobu.blogspot.com/2009/04/linux-io-scheduler-queue-size-and.html 例如,建议对HP Smart Array RAID控制器进行以下更改: echo "noop" > /sys/block/cciss\!c0d0/queue/scheduler blockdev --setra 65536 /dev/cciss/c0d0 echo 512 > /sys/block/cciss\!c0d0/queue/nr_requests echo 2048 > /sys/block/cciss\!c0d0/queue/read_ahead_kb 还有什么可以可靠地调整以提高存储性能的? 我在生产方案中专门寻找sysctl和sysfs选项。



3
建立一个10亿行的MySQL表
根据注释中的建议,此问题已从Stack Overflow重新发布,对重复表示歉意。 问题 问题1:随着数据库表的大小变大,如何调整MySQL以提高LOAD DATA INFILE调用的速度? 问题2:使用计算机群集加载不同的csv文件,提高性能还是将其杀死?(这是我明天使用负载数据和批量插入的基准测试任务) 目标 我们正在尝试使用特征检测器和聚类参数的不同组合来进行图像搜索,因此,我们需要能够及时构建大型数据库。 机器信息 该计算机具有256 gig的ram,是否还有另外2台具有相同ram数量的计算机(如果可以通过分配数据库来缩短创建时间)? 表架构 表架构看起来像 +---------------+------------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +---------------+------------------+------+-----+---------+----------------+ | match_index | int(10) unsigned | NO | PRI | NULL | | | cluster_index | int(10) unsigned | NO | …

2
如何在Ubuntu 14.04服务器上调整Apache
当前在Ubuntu 14.04上的Apache 2(确切地说是Apache 2.4.7)上,我有以下设置: /etc/apache2/mods-enabled/mpm_prefork.conf <IfModule mpm_prefork_module> StartServers 20 MinSpareServers 100 MaxSpareServers 250 MaxRequestWorkers 150 MaxConnectionsPerChild 0 </IfModule> 该服务器是一台8GB(RAM)的Amazon服务器,只不过为某些Google广告系列加载了一个三页的注册表格。 我在网上找到了一个名为apachetuneit.sh的脚本,但是过了一会儿Apache才报告此错误: [2015年2月21日星期二16:45:42.227935] [mpm_prefork:错误] [pid 1134] AH00161:服务器已达到MaxRequestWorkers设置,请考虑提高MaxRequestWorkers设置 我如何判断如何设置这些设置? 我只在询问如何调整Apache 2.4,而没有其他要求。这就是为什么这个问题不同于这个问题的原因。

2
在MySQL中调整(和理解)table_cache
我运行了出色的MySQL性能调整脚本,并开始研究建议。我遇到的一个是 表缓存 当前table_cache的值= 4096个表您总共有1073个表。您有3900张开放桌子。当前table_cache命中率为2%,而表缓存的95%正在使用中。您可能应该增加table_cache 我开始阅读table_cache,但发现MySQL文档非常缺乏。他们确实说要增加table_cache“如果您有记忆”。不幸的是,该table_cache变量被定义为“所有线程的打开表数”。 如果增加此变量,MySQL使用的内存将如何更改?要设定什么是好的值?

1
我如何知道我离somaxconn多近?
sysctl选项net.core.somaxconn默认为128(在我们的系统上),但可以提高。 极限测量和上限到底是什么? 我如何找出自己离极限有多近? 上下文:我最近遇到了一个问题,可以通过提高此限制来纠正该问题。这个问题是断断续续的,所以我不相信它确实已经解决。我想确定当前的[无论此设置上限]数是否大于以前的最大限制128。

9
300次连接后Apache Tomcat阻塞
我们在EC2上托管的Tomcat前面有一个apache网络服务器,实例类型非常大,具有34GB的内存。 我们的应用程序处理许多外部Web服务,而我们的外部Web服务非常糟糕,在高峰时段需要近300秒才能响应请求。 在高峰时段,服务器仅阻塞300个httpd进程。ps -ef | grep httpd | wc -l = 300 我已经在Google上搜索,发现了很多建议,但似乎没有任何效果。 我在apache和tomcat中都增加了最大连接数和最大客户端数的限制。以下是配置详细信息: // apache <IfModule prefork.c> StartServers 100 MinSpareServers 10 MaxSpareServers 10 ServerLimit 50000 MaxClients 50000 MaxRequestsPerChild 2000 </IfModule> // tomcat <Connector port="8080" protocol="org.apache.coyote.http11.Http11NioProtocol" connectionTimeout="600000" redirectPort="8443" enableLookups="false" maxThreads="1500" compressableMimeType="text/html,text/xml,text/plain,text/css,application/x-javascript,text/vnd.wap.wml,text/vnd.wap.wmlscript,application/xhtml+xml,application/xml-dtd,application/xslt+xml" compression="on"/> //Sysctl.conf net.ipv4.tcp_tw_reuse=1 net.ipv4.tcp_tw_recycle=1 fs.file-max = 5049800 vm.min_free_kbytes = …

3
虚拟机和I / O繁重的工作量,这是理智的吗?
我已经在大量的虚拟化服务(Azure)和产品(vmware,kvm,hyperv)上看到了I / O和I / O工作量大的系统停顿的情况。 我的问题是: 在执行I / O繁重的工作负载时使用虚拟化解决方案是否明智? 围绕这些东西的最佳实践是什么? 是什么原因导致这些问题,存在众所周知的系统瓶颈,还是仅仅是争用过多的问题?

1
虚拟化-10个1Gbps链接还是1个10Gbps链接?(性能)
我有一台具有多个VM(5)和3个物理网卡(每个2个端口)的机器,总共有六个1Gbps以太网端口。 我有一个具有SPF功能的交换机,总带宽为48Gbps,SPF链路为10Gbps。该服务器还有一个SPF端口(10Gbps)。 我很好奇,最好的设置是什么,在性能方面要明智(要从中获得最大收益,CPU使用率最少),为什么? 将所有VM都连接到一个SPF端口然后再连接到交换机上的SPF端口会更好,还是应该获得5根以太网电缆并将它们连接到网络交换机上的5个端口? 如果仍然不清楚,请考虑以下情形: 交换机上的两台PC分别要从VM A下载一个大文件,并要从VM B下载另一台PC。如果它们通过以太网连接,则每台PC都有自己的连接,因此从VM A的连接将切换到PCA。 ,然后将VM B的连接切换到PC B,对吗?如果将两个VM都连接到SPF,则SPF端口将在PC A和B之间切换。 那么哪种方案在最大负载下表现最佳?为什么? 编辑:我想保持这种相当通用,以便可以将其应用于全局方案,但已经询问了安装程序的详细信息,它们是: 服务器:PowerEdge T620 SPF卡:PEX10000SFP 10 GB NIC:3x NetXtreme BCM5720 操作系统:XenServer 6.2 CPU:Xeon E5-2609 交换机:T1600G-28TS 来宾操作系统:Debian Wheezy(PV)

2
我们应该在ext3上安装data = writeback和barrier = 0吗?
我们已经在托管公司的VM上运行服务器,并且刚刚注册了专用主机(AMD Opteron 3250、4核,8GB RAM,2 x 1TB的软件RAID,ext3)。 在运行性能测试时,我们注意到某些SQLite转换(插入,删除和/或更新的组合)所花的时间比我的2010 MacBook Pro长10倍至15倍。 经过大量的搜索和阅读之后,我们来看一下安装选项: data=ordered,barrier=1 我们做了一些实验,并获得了最佳性能 data=writeback,barrier=0 我已经阅读了这些内容,并了解了它们在做什么的基础知识,但是对于这样的跑步对我们来说是否是一个好主意,我没有一个很好的感觉。 问题 对于托管服务,上述配置是否明智? 如果发生断电或硬崩溃,那么最终可能会导致数据丢失或文件损坏。如果我们每15分钟对数据库快照一次,这可能会减轻这种情况,但是在拍摄快照时可能不会同步数据库。我们应如何(能够?)确保此类快照的完整性? 我们还应该考虑其他选择吗? 谢谢

1
解释ethtool Coalesce输出
除了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: …

5
性能调整高负载Apache服务器
我想了解一些(对我们而言)负载很重的Web服务器遇到的一些服务器性能问题。环境如下: Debian Lenny(所有稳定的软件包以及安全更新补丁) 阿帕奇2.2.9 PHP 5.2.6 Amazon EC2大型实例 我们看到的行为是,Web通常感觉很敏感,但是开始处理请求时会稍有延迟-有时在我们的高峰使用时间中只有一秒钟的时间,有时是2-3秒。在服务器上的实际负载被报告为非常高-通常10.XX或20.xx如报道top。此外,在这些时间(甚至vi)在服务器上运行其他操作非常慢,因此负载肯定就在那里。奇怪的是,除了最初的延迟之外,Apache仍然保持了快速响应。 我们使用prefork将Apache配置如下: StartServers 5 MinSpareServers 5 MaxSpareServers 10 MaxClients 150 MaxRequestsPerChild 0 和KeepAlive一样: KeepAlive On MaxKeepAliveRequests 100 KeepAliveTimeout 5 查看服务器状态页面,即使在这些繁重的时刻,我们也很少遇到客户端限制,通常为80-100个请求以及许多处于keepalive状态的请求提供服务。这告诉我将初始请求的速度排除为“等待处理程序”,但我可能是错的。 Amazon的CloudWatch监控告诉我,即使我们的操作系统报告的负载大于15,我们的实例CPU利用率仍在75-80%之间。 输出示例top: top - 15:47:06 up 31 days, 1:38, 8 users, load average: 11.46, 7.10, 6.56 Tasks: 221 total, 28 running, 193 …

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.