AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / user-1

Jeff Atwood's questions

Martin Hope
Jeff Atwood
Asked: 2010-02-05 16:51:49 +0800 CST

Windows 服务没有自动启动?

  • 14

我们最近在我们的 Windows Server 2008 R2 服务器上遇到了一些令人讨厌的时间同步问题。

我将其追溯到非常简单的事情:Windows 时间服务没有启动!当时间服务未运行时,时间可能无法通过 NTP 同步...

Windows 时间服务在服务控制面板中设置为“自动”启动,我对其进行了两次和三次检查。我还检查了事件日志,没有看到任何服务故障或类似的情况。事实上,它看起来很像 Windows 时间服务在安装每周 Windows 更新并重新启动服务器后从未自动启动。(这将发生在每周六晚上 7 点。)

我启动时间服务的那一刻,时间同步得很好。

那么,问题来了:为什么设置为“自动”启动的服务......不会自动启动?这对我来说似乎有点疯狂。

service startup windows-server-2008-r2
  • 4 个回答
  • 41927 Views
Martin Hope
Jeff Atwood
Asked: 2010-01-27 12:41:46 +0800 CST

调整 Linux IP 路由参数——secret_interval 和 tcp_mem

  • 33

今天我们的一个 HAProxy 虚拟机遇到了一点故障转移问题。当我们深入研究它时,我们发现了这个:

1 月 26 日 07:41:45 haproxy2 内核:[226818.070059] __ratelimit:10 个回调被抑制
1 月 26 日 07:41:45 haproxy2 内核:[226818.070064] 套接字内存不足
1 月 26 日 07:41:47 haproxy2 内核:[226819.560048] 套接字内存不足
1 月 26 日 07:41:49 haproxy2 内核:[226822.030044] 套接字内存不足

根据此链接,这显然与net.ipv4.tcp_mem. 所以我们将它们从默认值增加了 4 倍(这是 Ubuntu 服务器,不确定 Linux 风格是否重要):

当前值为:45984 61312 91968
新值为:183936 245248 367872

之后,我们开始看到一条奇怪的错误消息:

1 月 26 日 08:18:49 haproxy1 内核:[2291.579726] 路由哈希链太长!
1 月 26 日 08:18:49 haproxy1 内核:[2291.579732] 调整您的 secret_interval!

嘘……这是个秘密!!

这显然与/proc/sys/net/ipv4/route/secret_interval默认为 600 并控制路由缓存的定期刷新有关

secret_interval指示内核多久清除一次所有路由哈希条目,无论它们有多新/多旧。在我们的环境中,这通常很糟糕。每次清除缓存时,CPU 将忙于每秒重建数千个条目。但是,我们将其设置为每天运行一次以防止内存泄漏(尽管我们从未遇到过)。

虽然我们很乐意减少这种情况,但建议定期删除整个路由缓存而不是简单地将旧值更快地从路由缓存中推出似乎很奇怪。

经过一番调查,我们发现/proc/sys/net/ipv4/route/gc_elasticity这似乎是控制路由表大小的更好选择:

gc_elasticity最好将其描述为内核在开始使路由哈希条目过期之前将接受的平均桶深度。这将有助于维持活动路线的上限。

我们将弹性从 8 调整为 4,希望路由缓存能够更积极地自我修剪。对secret_interval我们来说感觉不正确。但是有很多设置,目前还不清楚哪些是真正正确的方法。

  • /proc/sys/net/ipv4/route/gc_elasticity (8)
  • /proc/sys/net/ipv4/route/gc_interval (60)
  • /proc/sys/net/ipv4/route/gc_min_interval (0)
  • /proc/sys/net/ipv4/route/gc_timeout (300)
  • /proc/sys/net/ipv4/route/secret_interval (600)
  • /proc/sys/net/ipv4/route/gc_thresh (?)
  • rhash_entries(内核参数,默认未知?)

我们不想让 Linux 路由变得更糟,所以我们有点害怕弄乱这些设置。

对于高流量的 HAProxy 实例,谁能建议最好调整哪些路由参数?

linux routing tcpip
  • 3 个回答
  • 23848 Views
Martin Hope
Jeff Atwood
Asked: 2010-01-26 10:57:05 +0800 CST

网络硬件应该设置为“自动协商”速度还是固定速度?

  • 90

我们最近在网络方面遇到了一个小问题,其中多台服务器会以相当痛苦的方式间歇性地失去网络连接(需要硬重启)。这已经持续了大约两周,似乎是随机的,在不同的服务器上。没有我们可以辨别的特定模式。

在深入研究之后,我们看到交换机报告了问题端口的 100 Mbps:

这听起来非常像 Joel Spolsky 文章五个为什么中发生的事情

Michael 花了一些时间做了事后分析,发现问题是交换机上的一个简单配置问题。交换机可以使用几种可能的速度进行通信(10、100 或 1000 兆比特/秒)。您可以手动设置速度,也可以让交换机自动协商双方可以使用的最高速度。失败的交换机已设置为自动协商。这通常有效,但并非总是如此,并且在 1 月 10 日早上,它没有。

我们现在已禁用网络硬件上的自动协商,并将其设置为 1000 Mbps(千兆位)的固定速率。

我对那些拥有更多服务器硬件网络专业知识的人的问题:

  1. 现代网络硬件的自动协商问题有多普遍?
  2. 在设置网络时禁用自动协商并设置固定速度是否被认为是良好的标准网络实践?
networking ethernet
  • 17 个回答
  • 70608 Views
Martin Hope
Jeff Atwood
Asked: 2010-01-09 19:01:11 +0800 CST

Round-Robin DNS 对于负载平衡静态内容是否“足够好”?

  • 70

我们在http://sstatic.net的网站之间提供了一组共享的静态内容。不幸的是,这个内容目前根本没有负载平衡——它是从单个服务器提供的。如果该服务器有问题,所有依赖它的站点都会有效地关闭,因为共享资源是必不可少的共享 javascript 库和图像。

我们正在寻找方法来平衡此服务器上的静态内容,以避免单一服务器依赖。

我意识到循环 DNS 充其量只是一种低端(有些人甚至可能会说ghetto)解决方案,但我不禁想知道循环 DNS 是否是静态内容基本负载平衡的“足够好”的解决方案?

[dns] [load-balancing]标签中对此进行了一些讨论,并且我已经阅读了有关该主题的一些很棒的帖子。

我知道通过多个循环 A 记录进行 DNS 负载平衡的常见缺点:

  • DNS 记录通常没有心跳或故障检测,因此如果轮换中的给定服务器出现故障,则必须手动从 DNS 条目中删除其 A 记录
  • 生存时间 (TTL) 必须设置得非常低才能使其正常工作,因为 DNS 条目在整个 Internet 中被积极缓存
  • 客户端计算机负责查看有多个 A 记录并选择正确的记录

但是,对于我们的静态内容,“在我们研究和实施更好的替代方案时”形式的负载平衡,轮询 DNS 作为一个初学者是否足够好,总比没有好?还是在任何情况下,DNS 循环法都毫无价值?

domain-name-system load-balancing redundancy
  • 18 个回答
  • 68668 Views
Martin Hope
Jeff Atwood
Asked: 2009-08-04 21:30:17 +0800 CST

删除早于 (x) 天的文件?

  • 35

什么是删除给定文件夹中超过 (n) 天的所有文件的好 Windows 命令行选项?

另请注意,这些文件可能有数千个,因此在这里forfiles使用 shellcmd并不是一个好主意。除非您喜欢生成数千个命令 shell。我认为这是一个非常讨厌的 hack,所以让我们看看我们是否可以做得更好!

理想情况下,Windows Server 2008 中内置(或易于安装)的东西。

windows command-line-interface
  • 7 个回答
  • 56577 Views
Martin Hope
Jeff Atwood
Asked: 2009-07-26 03:19:19 +0800 CST

推荐用于 IIS 监控的 LogParser 查询?

  • 86
锁定。这个问题及其答案被锁定,因为这个问题离题但具有历史意义。它目前不接受新的答案或交互。

随着 Stack Overflow 的增长,我们开始仔细查看我们的 IIS 日志以识别有问题的 HTTP 客户端——比如流氓网络蜘蛛、设置大页面每秒刷新的用户、写得不好的一次性网络爬虫、狡猾的尝试增加页面计数的用户数不胜数,依此类推。

我提出了一些LogParser查询,它们可以帮助我们在指向 IIS 日志文件时识别大多数奇怪和异常情况。

URL 的最高带宽使用率

SELECT top 50 DISTINCT 
SUBSTR(TO_LOWERCASE(cs-uri-stem), 0, 55) AS Url, 
Count(*) AS Hits, 
AVG(sc-bytes) AS AvgBytes, 
SUM(sc-bytes) as ServedBytes 
FROM {filename} 
GROUP BY Url 
HAVING Hits >= 20 
ORDER BY ServedBytes DESC
url 命中 avgbyte 服务
------------------------------------------------- - ---- -------- --------
/favicon.ico 16774 522 8756028
/content/img/search.png 15342 446 6842532

URL 的热门点击

SELECT TOP 100 
cs-uri-stem as Url, 
COUNT(cs-uri-stem) AS Hits 
FROM {filename} 
GROUP BY cs-uri-stem 
ORDER BY COUNT(cs-uri-stem) DESC
网址命中
------------------------------------------------- - ----
/content/img/sf/vote-arrow-down.png 14076
/content/img/sf/vote-arrow-up.png 14018

IP / User-Agent 的最高带宽和点击次数

SELECT TOP 30
c-ip as Client, 
SUBSTR(cs(User-Agent), 0, 70) as Agent, 
Sum(sc-bytes) AS TotalBytes, 
Count(*) as Hits 
FROM {filename} 
group by c-ip, cs(User-Agent) 
ORDER BY TotalBytes desc
客户端用户代理totbytes命中
------------- ------------------------------------- -------- --------- -----
66.249.68.47 Mozilla/5.0+(兼容;+Googlebot/2.​​1;135131089 16640
194.90.190.41 omgilibot/0.3++omgili.com 133805857 6447

按 IP / User-Agent 按小时划分的最高带宽

SELECT TOP 30
TO_STRING(time, 'h') as Hour, 
c-ip as Client, 
SUBSTR(cs(User-Agent), 0, 70) as Agent, 
Sum(sc-bytes) AS TotalBytes, 
count(*) as Hits 
FROM {filename} 
group by c-ip, cs(User-Agent), hour 
ORDER BY sum(sc-bytes) desc
hr 客户端用户代理 totbytes 命中
-- ------------- ----------------------------------- ------ -------- ----
9 194.90.190.41 omgilibot/0.3++omgili.com 30634860 1549
10 194.90.190.41 omgilibot/0.3++omgili.com 29070370 1503

按 IP / User-Agent 按小时计算的热门点击

SELECT TOP 30
TO_STRING(time, 'h') as Hour, 
c-ip as Client, 
SUBSTR(cs(User-Agent), 0, 70) as Agent, 
count(*) as Hits, 
Sum(sc-bytes) AS TotalBytes 
FROM {filename} 
group by c-ip, cs(User-Agent), hour 
ORDER BY Hits desc
hr 客户端用户代理命中数字节
-- ------------- ----------------------------------- ------ ---- --------
10 194.90.190.41 omgilibot/0.3++omgili.com 1503 29070370
12 66.249.68.47 Mozilla/5.0+(兼容;+Googlebot/2.​​1 1363 13186302

{filename} 当然是 IIS 日志文件的路径,例如

c:\working\sologs\u_ex090708.log

我为良好的 IIS LogParser 查询做了很多网络搜索,但发现的很少。上面的这 5 个,极大地帮助了我们识别严重的问题客户。但我想知道——我们缺少什么?

还有哪些其他方法可以对 IIS 日志进行切片和切块(最好使用 LogParser 查询)来挖掘它们的统计异常?你有在你的服务器上运行的任何好的 IIS LogParser 查询吗?

iis logparser
  • 8 个回答
  • 48504 Views
Martin Hope
Jeff Atwood
Asked: 2009-07-20 02:30:32 +0800 CST

DNS 无法在全球传播

  • 66

我没有更改与 serverfault.com 的 DNS 条目相关的任何内容,但今天有些用户报告说serverfault.com DNS 无法为他们解析。

我运行了一个justping 查询,我可以确认这一点——serverfault.com dns 似乎无法在少数几个国家/地区解析,我无法辨别出任何特殊原因。(也通过What's My DNS确认,它以类似的方式在全球范围内执行一些 ping,所以它被两个不同的来源确认为一个问题。)

  • 如果我没有触及 serverfault.com 的 DNS,为什么会发生这种情况?

  • 我们的注册商是 (gag) GoDaddy,我在大多数情况下都使用默认 DNS 设置,没有发生任何意外。难道我做错了什么?DNS之神抛弃我了吗?

  • 我能做些什么来解决这个问题吗?有什么方法可以让 DNS 继续前进,或强制 DNS 在全球范围内正确传播?

更新:截至太平洋标准时间周一凌晨 3:30,一切看起来都是正确的。JustPing 报告网站可以从所有位置访问。感谢您提供了许多非常有用的回复,我学到了很多东西,下次发生这种情况时会参考这个 Q..

domain-name-system
  • 7 个回答
  • 11996 Views
Martin Hope
Jeff Atwood
Asked: 2009-07-03 05:42:24 +0800 CST

为什么我们的 8-cpu SQL Server 机器上的 CPU 使用如此不对称?

  • 7

我注意到运行 SQL Server 2008 的 8 CPU 数据库服务器上的 CPU 使用率根本不平衡。

以下是前一段时间随机一天的 1 天平均值,这是典型的且始终不对称:

9、15、10、21、18、21、14、9

(这里只有缩略图,因为图像真的很高,但点击查看完整尺寸的图像)

与我们的 4-CPU 网络服务器相比,这些服务器几乎一直都是完全平衡的,这让我觉得很奇怪。

现在,这是一个专用服务器,所以唯一在其上运行的是 SQL Server 2008(以及我们大量使用的内置全文索引),所以我不确定为什么 CPU 使用率会如此不对称. 想法?

central-processing-unit sql-server-2008 smp
  • 5 个回答
  • 3148 Views
Martin Hope
Jeff Atwood
Asked: 2009-07-02 21:19:43 +0800 CST

从 Windows Server Standard 就地升级到 Enterprise 或 Datacenter

  • 14

我们遇到了一个小问题,即 Windows Server Standard 仅支持 32 GB 内存,当您的服务器最近升级到 48 GB 内存时,这令人沮丧。

是否可以从 Windows Server Standard(最大 32 GB 内存支持)到 Windows Server Enterprise 或 Datacenter(最大 2TB 内存支持)进行就地升级?

我尝试从操作系统中启动 Windows Server 2008 setup.exe,这给了我一个“升级”选项。但是当我进入过程的“你想在哪里安装 Windows”部分时,它告诉我

您选择的分区可能包含以前 Windows 安装中的文件。如果是这样,这些文件和文件夹将被移动到名为 Windows.old 的文件夹中。您将能够访问 Windows.old 中的信息,但您将无法使用以前版本的 Windows

那是……不是……我点击“升级”时的想法!

我真的不想在我们的生产数据库服务器上安装干净的操作系统,如果可能的话,我宁愿进行升级安装!

windows-server-2008
  • 6 个回答
  • 73421 Views
Martin Hope
Jeff Atwood
Asked: 2009-06-06 01:50:16 +0800 CST

动态阻止过多的 HTTP 带宽使用?

  • 24

我们在 6 月 4 日的Cacti网络流量图表上看到这一点有点惊讶:

我们在 IIS 日志上运行Log Parser,结果证明这是雅虎和谷歌机器人索引我们的完美风暴。在这 3 小时内,我们看到来自 3 个不同谷歌 IP 的 28.7 万次点击,以及来自雅虎的 10.4 万次点击。哎哟?

虽然我们不想阻止谷歌或雅虎,但这已经出现过。我们可以使用Cisco PIX 515E,我们正在考虑将其放在前面,这样我们就可以动态地处理带宽违规者,而无需直接接触我们的 Web 服务器。

但这是最好的解决方案吗?我想知道是否有任何软件或硬件可以帮助我们识别和阻止过多的带宽使用,最好是实时的?也许我们可以将一些硬件或开源软件放在我们的网络服务器前面?

我们主要是一家 Windows 商店,但我们也有一些 Linux 技能;如果 PIX 515E 不够用,我们也愿意购买硬件。你会推荐什么?

http networking bandwidth
  • 8 个回答
  • 3101 Views
Martin Hope
Jeff Atwood
Asked: 2009-05-01 10:16:30 +0800 CST

Windows Server 无法可靠地同步 NTP 时间

  • 41

为什么 Windows Server(在这种情况下是 2008 年,但我在 2003 年看到过同样的问题)似乎在同步时间上有问题?我在各种服务器的系统日志中都看到了这个错误:

时间服务在 86400 秒内没有同步系统时间,因为没有一个时间服务提供商提供可用的时间戳。时间服务在能够与时间源同步之前不会更新本地系统时间。如果本地系统被配置为客户端的时间服务器,它将停止向客户端广播作为时间源。时间服务将继续重试并将时间与其时间源同步。检查系统事件日志以了解其他 W32time 事件以获取更多详细信息。运行“w32tm /resync”以强制进行即时时间同步。

在控制面板,日期和时间下,互联网时间设置设置为同步time-nw.nist.gov;上次成功同步是 2 天前,表明存在某种问题。但是,如果我单击该对话框上的“立即更新”按钮,它确实会随着时间更新!

那么为什么windows server不能在没有我手动干预的情况下在后台通过NTP可靠地进行时间同步呢?我究竟做错了什么?

windows time ntp time-synchronization
  • 4 个回答
  • 42709 Views
Martin Hope
Jeff Atwood
Asked: 2009-04-30 23:04:18 +0800 CST

RAID 控制器通常是否存在 SATA 驱动器品牌兼容性问题?

  • 22

我们在数据库服务器Lenovo ThinkServer RD120 中遇到了 RAID 控制器问题。这是联想/IBM 命名为ServeRAID 8k的更名 Adaptec 。

我们已将此ServeRAID 8k修补为最新和最强大的:

  • RAID BIOS版本
  • RAID背板bios版本
  • Windows Server 2008 驱动程序

即使在我们拥有它的短短 4 个月内,这个 RAID 控制器也已经进行了多次关键的 BIOS 更新,而且更改历史只是......好吧,可怕。

我们已经在逻辑 RAID 驱动器上尝试了回写和直写策略。在繁重的磁盘活动下,我们仍然会遇到间歇性 I/O 错误。它们并不常见,但一旦发生就会很严重,因为它们会导致 SQL Server 2008 I/O 超时,有时还会导致 SQL 连接池失败。

我们已经完成了对这个问题的故障排除。没有像更换整个服务器或更换 RAID 硬件这样的核心内容,我们变得绝望了。

当我第一次拿到服务器时,我遇到了无法识别驱动器托架 #6 的问题。奇怪的是,将硬盘换成不同的品牌,解决了这个问题——并更新了 RAID BIOS(多次的第一次)永久修复了它,所以我能够在托架 6 中使用原来的“不兼容”驱动器。预感,我开始假设我选择的西部数据 SATA 硬盘驱动器与 ServeRAID 8k 控制器不兼容。

购买 6 个新硬盘是桌面上更便宜的选择之一,所以我选择了6 个 Hitachi(又名 IBM,又名 Lenovo)硬盘,理论是 IBM/Lenovo RAID 控制器更有可能与它通常使用的驱动器一起工作出售。

看起来这种预感得到了回报——我们已经度过了负载最重的三个日子(周一、周二、周三),没有出现任何类型的 I/O 错误。在此之前,我们经常在这个时间范围内至少有一个 I/O“事件”。看来切换品牌的硬盘驱动器已经解决了我们间歇性的 RAID I/O 问题!

虽然我知道 IBM/Lenovo 可能只用他们自己品牌的硬盘驱动器测试他们的 RAID 控制器,但我很不安 RAID 控制器会在特定品牌的硬盘驱动器上出现如此微妙的 I/O 问题。

所以我的问题是,这种 SATA 驱动器不兼容在 RAID 控制器中很常见吗?是否有某些品牌的驱动器比其他品牌的驱动器工作得更好,或者针对特定的 RAID 控制器进行了“验证”?我有点假设所有商品 SATA 硬盘驱动器都是相似的,并且在任何给定的 RAID 控制器(质量足够)中都能很好地工作。

raid ibm
  • 8 个回答
  • 4052 Views

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve