我想调整的FreeBSD的共享知识通过sysctl.conf/ loader.conf
/ KENCONFFreeBSD有调整/等它最初是基于伊戈尔Sysoev为的(Nginx的作者)呈现高达10-20万个的有效连接。较新版本的 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 still limit it by passing second argument to listen(2) syscall
# Note: Listen queue be monitored …Run Code Online (Sandbox Code Playgroud) 我写了一个多线程软件,每天做一堆模拟。这是一个非常占用 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 : 0
cpu cores : 1
apicid : 3
initial apicid : 3
fpu : yes
fpu_exception : yes
cpuid …Run Code Online (Sandbox Code Playgroud) 还是应该将 perfmon 限制为具有模拟生产活动的负载测试的 Dev/QA 服务器?
我想运行 perfmon 两天(就像 Sql Server master Brent Ozar 建议的那样)来全面了解我的 web 应用程序的数据库性能。
我管理的大多数 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
Run Code Online (Sandbox Code Playgroud)
还有什么可以可靠地调整来提高存储性能?
我专门在生产场景中寻找 sysctl 和 sysfs 选项。
sysctl 选项net.core.somaxconn默认为 128(在我们的系统上),但可以提高。
这个限制测量和封顶究竟是什么?
我如何知道我离极限有多近?
上下文:我最近遇到了一个问题,似乎可以通过提高此限制来纠正。问题是间歇性的,所以我不相信它真的解决了。我想知道 [无论此设置上限] 的当前数量是否大于之前的最大限制 128。
在我支持的网站上运行 ySlow,我注意到它报告说网站图像的 etags 配置错误(例如 *.jpg、*.png、*.gif)。任何人都可以帮助解释我必须做什么才能让 IIS7 正确发布这些 etags 吗?
我运行了优秀的MySQL 性能调优脚本并开始研究这些建议。我遇到的一个是
TABLE CACHE
当前 table_cache 值 = 4096 个表 您总共有 1073 个表。您有 3900 个打开的表。当前 table_cache 命中率为 2%,而 95% 的表缓存正在使用中。你应该增加你的 table_cache
我开始阅读 table_cache,但发现MySQL 文档非常缺乏。他们确实说要增加table_cache“如果你有内存”。不幸的是,该table_cache变量被定义为“所有线程的打开表数”。
如果我增加这个变量,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 | PRI | NULL | |
| id | int(11) | NO | …Run Code Online (Sandbox Code Playgroud) 目前在 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>
Run Code Online (Sandbox Code Playgroud)
该服务器是一个 8GB (RAM) 的亚马逊服务器,它只会为一些谷歌广告活动加载一个三页的注册表单。
我在网上找到了一个名为apachetuneit.sh的脚本,但是过了一会儿,Apache 报告了这个错误:
[Tue Apr 21 16:45:42.227935 2015] [mpm_prefork:error] [pid 1134] AH00161:服务器达到 MaxRequestWorkers 设置,考虑提高 MaxRequestWorkers 设置
如何判断如何设置这些设置?
我只是专门询问如何调整 Apache 2.4 而没有其他问题。这就是为什么这个问题与这个问题不同。
ubuntu performance-tuning mpm-prefork apache-2.4 ubuntu-14.04
我们在 EC2 上托管的 Tomcat 前面有一个 apache 网络服务器,实例类型特大,内存为 34GB。
我们的应用程序处理大量外部网络服务,我们有一个非常糟糕的外部网络服务,在高峰时段需要将近 300 秒来响应请求。
在高峰时段,服务器只有大约 300 个 httpd 进程而窒息。ps -ef | grep httpd | wc -l =300
我在谷歌上搜索并发现了许多建议,但似乎没有任何效果..以下是我所做的一些配置,这些配置直接取自在线资源。
我在 apache 和 tomcat 中都增加了最大连接数和最大客户端数的限制。这是配置详细信息:
//阿帕奇
<IfModule prefork.c>
StartServers 100
MinSpareServers 10
MaxSpareServers 10
ServerLimit 50000
MaxClients 50000
MaxRequestsPerChild 2000
</IfModule>
Run Code Online (Sandbox Code Playgroud)
//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"/>
Run Code Online (Sandbox Code Playgroud)
//sysctl.conf
net.ipv4.tcp_tw_reuse=1
net.ipv4.tcp_tw_recycle=1
fs.file-max = 5049800
vm.min_free_kbytes = 204800
vm.page-cluster = 20
vm.swappiness = 90
net.ipv4.tcp_rfc1337=1
net.ipv4.tcp_max_orphans = 65536
net.ipv4.ip_local_port_range = 5000 65000
net.core.somaxconn …Run Code Online (Sandbox Code Playgroud) performance ×3
mysql ×2
apache-2.2 ×1
apache-2.4 ×1
centos6 ×1
etags ×1
files ×1
freebsd ×1
hp ×1
iis-7 ×1
linux ×1
mpm-prefork ×1
optimization ×1
perfmon ×1
sql-server ×1
storage ×1
sysctl ×1
tcp ×1
tomcat ×1
ubuntu ×1
ubuntu-14.04 ×1
vps ×1
yslow ×1