服务器管理员

系统和网络管理员的问答

1
超过约256个并发请求时,Apache性能会急剧下降
我正在运行一个流量相对较低的网站,在网站更新后,每周一次的访问者数量会激增。在此高峰期间,与一周的其余时间相比,站点性能非常差。服务器上的实际负载仍然非常低,可靠地在10%的CPU和30%的RAM下(对于我们正在做的事情,硬件应该是完全过大了),但是由于某种原因,Apache似乎无法应付数量的请求。我们正在RHEL 5.7,内核2.6.18-274.7.1.el5,x86_64上运行apache 2.2.3。 尝试用ab在下班时间重现这种行为,我发现当超过大约256个用户时,性能会大大下降。以我能想到的最小用例运行测试(检索到静态文本文件,总共223个字节),在同时进行245个同时请求的情况下,性能始终是正常的: Connection Times (ms) min mean[+/-sd] median max Connect: 15 25 5.8 24 37 Processing: 15 65 22.9 76 96 Waiting: 15 64 23.0 76 96 Total: 30 90 27.4 100 125 Percentage of the requests served within a certain time (ms) 50% 100 66% 108 75% …

5
如何判断Windows是否以安全模式运行?
我有一台Windows服务器,有时更新后有时会重新引导到安全模式。我正在解决该问题,但我真正想知道的是如何检查Windows是否以安全模式运行。 理想情况下,我想将其合并到一个脚本中,该脚本会将状态显示为被动检查发送到我们的Nagios框中。 是否可以使用某些环境变量或通过命令行获取此信息的某种方式?

2
Puppet的多站点高可用性选项
我维护着两个数据中心,并且随着我们越来越多的重要基础架构开始受到puppet的控制,如果我们的主站点发生故障,第二个站点上的puppet master工作非常重要。 更好的做法是进行某种主动/主动设置,以使第二个站点的服务器不会通过WAN进行轮询。 有多站点木偶高可用性的任何标准方法吗?

4
什么是vmlinuz,为什么我要关心?
在我们拥有的少数Ubuntu盒子之一上,我刚刚得到了一个我从未见过的网络警报: The following monitoring trigger has been fired: /vmlinuz has been changed on server XXXXX: PROBLEM 2012.09.19 06:24:33 Trigger key: vfs.file.cksum[/vmlinuz] Value: 3397367448 Host: XXXXX 校验和已vmlinuz更改。我从Wikipedia看到,这与内核有关。 我是否应该担心其校验和已更改?该特定服务器确实运行Wordpress,该漏洞因其第三方插件中的漏洞而闻名,因此,我倾向于认真对待它。 我得出的结论是该服务器已受到威胁。比起遗憾,安全性要好得多,因为/var/log/apache2/access.log0字节是安全的,并且那里应该有一点(不是很多,但是只有一点)数据,而且显然看起来像是某种东西(最有可能是机器人)覆盖了他们的踪迹。该抽出昨晚备份的时间了:)
14 linux  ubuntu  alerts  vmlinuz 


4
Postfix“警告:无法从文件获取RSA私钥”
我只是按照本教程进行操作,以使用dovecot和mysql作为虚拟用户的后端来设置postfix邮件服务器。 现在,我的大部分部件都可以工作了,可以连接到POP3(S)和IMAP(S)。 使用 echo TEST-MAIL | mail myaccount@hotmail.com 工作正常,当我登录到hotmail帐户时,它会显示电子邮件。 它也可以反向运行,因此我的example.com MX条目终于被传播了,因此我能够接收从myaccount@hotmail.com发送到myvirtualuser@example.com的电子邮件,并通过IMAP使用STARTTLS在Thunderbird中查看它们。 尝试使用登录到myvirtualuser@example.com的 Thunderbird 尝试将邮件发送到myaccount@hotmail.com时出现错误消息“ 5.7.1:中继访问被拒绝 ” 后,我需要做一些进一步的研究,我发现服务器正在运行作为“开放邮件中继”,这当然是一件坏事。 我进一步研究了本教程的可选部分,例如此注释和其他文章,我决定也完成这些步骤,以便能够通过Mozilla Thunderbird 通过myvirtualuser@example.com发送邮件,而不会收到错误消息“ 5.7.1” :“中继访问被拒绝 ”(因为普通邮件服务器拒绝打开的中继电子邮件)。 但是现在我遇到了一个错误,试图让SMTPS使用postfix,它在/var/log/mail.log中读取 Sep 28 17:29:34 domain postfix/smtpd[20251]: warning: cannot get RSA private key from file /etc/ssl/certs/postfix.pem: disabling TLS support Sep 28 17:29:34 domain postfix/smtpd[20251]: warning: TLS library problem: …

3
用主管控制tomcat
通过主管进行控制时,有没有办法“优雅地”关闭tomcat? 我的理解是Tomcat的shutdown.sh脚本在关闭端口上与tomcat对话以启动正常关闭。主管似乎没有办法指定关闭“命令”,仅使用信号即可。 有没有人成功地使用主管与tomcat? 另外,由于tomcat的startup.sh脚本启动了Java进程,因此我一直将生成的Java命令直接复制到超级用户中,但是由于所有环境设置,这并不像使用startup.sh脚本那样好。有没有办法让主管使用startup.sh脚本,但仍跟踪生成的子Java进程?

3
如何安装两个写入相同文件的软件包
我有两个软件包,每个软件包创建/ usr / bin / ffprobe。其中一个是来自Deb Multimedia存储库的ffmpeg,另一个是从源代码构建的ffmbc 0.7-rc5。手动滚动是至关重要的,并且我们曾经只是在需要时从源代码进行安装。我只能认为它会破坏ffmpeg文件,并且从来没有任何不良影响。 从理论上讲,我们的ffmbc包覆盖ffmpeg包中的文件应该是可以接受的。缺点是对ffmpeg的更新将覆盖ffmbc二进制文件。有什么简单的方法可以解决这个问题?

2
升级TFS 2010构建服务器以支持.net 4.5
在tfs 2010构建代理中需要什么来构建.net 4.5项目,在tfs 2008中我们必须设置MSBuildPath属性,但是在2010年的配置似乎有所不同。 我收到以下错误消息。(614):找不到导入的项目“ C:\ Program Files(x86)\ MSBuild \ Microsoft \ VisualStudio \ v11.0 \ WebApplications \ Microsoft.WebApplication.targets”。确认声明中的路径正确,并且文件在磁盘上。 我们在2008年的处理方式 http://blogs.msdn.com/b/willbar/archive/2009/11/01/building-net-4-0-applications-using-team-build-2008.aspx

2
NTUSER.DAT和UsrClass.dat文件由成千上万个生成,为什么并且可以删除?
我注意到,我的Web服务器2008 Xen VM逐渐失去了可用空间-比正常使用情况要多,我决定进行调查。 有两个问题区域: *C:\Users\Administrator\ (6,755.0 MB)* with files: NTUSER.DAT{randomness}.TMContainer'0000 randomness'.regtrans-ms NTUSER.DAT{randomness}.TM.blf 和 C:\Users\Administrator\AppData\Local\Microsoft\Windows\ (6,743.8 MB) with files UsrClass.dat{randomness}.TMContainer'0000 randomness'.regtrans-ms UsrClass.dat{randomness}.TM.blf 据我了解,这些是注册表更改的及时备份。如果真是这样,我将无法理解为什么会有10000多个更改。(这是每个文件夹位置有多少个文件,每个文件夹总共超过20,000个。) 这些文件占用了将近15GB的空间,我想摆脱它们,我只是想知道是否可以删除它们。但是,我需要了解为什么要创建它们,以便将来避免这种情况。 任何想法为什么会有那么多?有什么方法可以检查所做的修改吗? 它们是通过登录尝试创建的吗? 是否根据Web服务器的日常使用创建它们? 等

3
这是否证明了网络带宽瓶颈?
我错误地认为我的内部AB测试意味着我的服务器每秒可以处理1k并发@ 3k点击。 目前,我的理论是网络是瓶颈。服务器无法足够快地发送足够的数据。 来自blitz.io的并发率为1k的外部测试显示,我的命中率上限为180,由于服务器每秒只能返回180,因此页面的响应时间越来越长。 我已经从nginx提供了一个空白文件,并进行了替换:它并发地按1:1比例缩放。 现在要排除IO / memcached瓶颈(nginx通常从memcached中提取),我提供了文件系统中缓存页面的静态版本。 结果与我的原始测试非常相似;我的上限是180 RPS。 将HTML页面分成两半,可使我的RPS翻倍,因此,它肯定受页面大小的限制。 如果从本地服务器内部内部使用ApacheBench,则在高传输速率下,整页和半页上都可以获得大约4k RPS的一致结果。传输速率:接收到62586.14 [Kbytes / sec] 如果我从外部服务器进行注册,我将获得180RPS的收益-与blitz.io结果相同。 我怎么知道这不是故意的节流? 如果我从多个外部服务器进行基准测试,那么所有结果都会变差,这使我相信问题出在我的服务器出站流量,而不是基准服务器/ blitz.io的下载速度问题。 所以我回到我的结论:我的服务器不能足够快地发送数据。 我对吗?还有其他方法可以解释这些数据吗?解决方案/优化是否设置了多个服务器+负载平衡,每个服务器每秒可以处理180次匹配? 我对服务器优化还很陌生,因此感谢您对这些数据进行解释的确认。 出站流量 以下是有关出站带宽的更多信息:网络图显示最大输出为16 Mb / s:每秒16兆位。听起来一点也不。 由于有节流的建议,我对此进行了调查,发现linode的上限为50mbps(显然,我甚至还没有达到这个上限)。我把它提高到了100mbps。 由于linode限制了我的访问量,而我什至没有实现,这是否意味着我的服务器确实应该能够输出高达100mbps的数据,但受到其他内部瓶颈的限制?我只是不了解如此大规模的网络是如何工作的。它们可以像从HDD读取数据一样快速地发送数据吗?网络管道有那么大吗? 结论 1:基于以上所述,我认为我可以通过在多nginx服务器设置之上添加nginx负载平衡器来提高我的180RPS,使LB后的每台服务器恰好为180RPS。 2:如果linode的限制是50 / 100mbit,而我完全没有达到,则必须做一些事情才能通过单服务器设置达到该限制。如果我可以在本地足够快地读取/传输数据,并且linode甚至不愿意设置50mbit / 100mbit的上限,则必须存在一个内部瓶颈,该瓶颈使我无法确定那些不知道如何检测的上限。正确? 我知道这个问题现在很大而且很模糊,但是我不确定如何浓缩。我做出的任何结论都值得您的任何投入。

6
Windows RDP-使生产服务器看起来独特
关于Windows 2008 / R2:我已经将桌面颜色更改为红色。我已经使用了“外观设置”,但是没有一个是可以容忍的。还有其他我可以做的事情来使生产看起来不同吗?显然,当我认为自己处于测试或质量检查阶段时,我不想在Prod上运行任何危险的事情。 想法:1)任务栏中的任何内容?2)总是出现在前台的小型弹出程序呢?有这样的免费程序吗?

3
将nohup重定向到stdout
是否可以让进程从nohup开始,写到stdout而不是文件中?还是在文件和屏幕上? nohup python start.py & 写入nohup.out,但我希望将其输出到屏幕,nohup仅在连接断开时用作树篱。
14 nohup 

3
Windows 2008 R2 CA和自动注册:如何清除超过100,000个颁发的证书?
我遇到的基本问题是,我的CA中有超过100,000个无用的机器证书,并且我想删除它们,而不删除所有证书,或者花时间使服务器前移,并使一些有用的证书失效那里。 这是由于我们的企业根CA(2008 R2)接受了几个默认值,并使用GPO来自动注册客户端计算机的证书以允许802.1x对我们的公司无线网络进行身份验证。 事实证明,默认设置Computer (Machine) Certificate Template将很乐意允许计算机重新注册,而不是指示它们使用已经拥有的证书。对于希望将证书颁发机构用作每次重新启动工作站的日志的家伙(我)来说,这会带来很多问题。 (侧面的滚动条在说谎,如果将其拖动到底部,屏幕将暂停并加载接下来的几十个证书。) 有谁知道如何从Windows Server 2008R2 CA 删除 100,000个时间有效的现有证书? 现在,当我现在删除证书时,出现一个错误,因为它仍然有效,因此无法删除。因此,理想情况下,某种方式可以暂时绕过该错误,因为Mark Henderson提供了一种方法,可以在清除障碍后使用脚本删除证书。 (取消它们不是一种选择,因为将它们移动到Revoked Certificates,我们需要能够查看它们,也不能将它们从已撤消的“文件夹”中删除。) 更新: 我尝试了@MarkHenderson链接的网站,该网站很有希望,并且提供了更好的证书可管理性,但是还远远不够。在我看来,证书似乎仍然是“时间有效的”(尚未过期),因此CA不想让它们从存在中删除,这也适用于已撤销的证书,因此,撤销全部删除,然后将其删除也不起作用。 我也在我的Google-Fu上找到了这个technet博客,但不幸的是,他们似乎只需要删除大量的证书申请,而不必删除实际的证书。 最终,暂时让CA向前发展,以便我想摆脱的证书到期,因此可以使用站点上的工具将其删除标记链接不是一个好选择,因为我们使用的许多有效证书都将到期必须手动发布。因此,这是比重建CA更好的选择,但不是一个很好的选择。

4
旋转后,MySQL没有将错误记录到新文件中吗?
问题已解决,但我正在写下以供将来参考。 /root/.my.cnf [mysqladmin] user = root password = pa$$w0rd /etc/logrotate.d/mysql /var/log/mysql-slow.log /var/log/mysqld.log { daily rotate 7 dateext compress missingok #notifempty sharedscripts create 644 mysql mysql postrotate /usr/bin/mysqladmin flush-logs endscript } logrotate 从命令行运行时运行正常: # logrotate -v -f /etc/logrotate.d/mysql 但是在凌晨4点从cron运行时,它不起作用日志文件已旋转,但MySQL不会将错误记录到新创建的文件中: -rw-r--r-- 1 mysql mysql 0 Aug 7 10:13 /var/log/mysqld.log -rw-r--r-- 1 mysql …
14 mysql  logrotate 

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.