服务器 Gind.cn

服务器问题集锦,包括 Linux(Ubuntu, Centos,Debian等)和Windows Server服务器

为什么我们会在响应时间突然激增?

我们有一个使用IIS托pipe的ServiceStack实现的API。 在执行API的负载testing时,我们发现响应时间是好的,但是一旦我们每服务器达到约3,500个并发用户,它们就会迅速恶化。 我们有两台服务器,当用7000个用户点击它们时,所有端点的平均响应时间都低于500ms。 这些盒子位于负载平衡器的后面,所以我们可以得到每台服务器3500个并发数。 但是,一旦我们增加了总并发用户的数量,我们就会看到响应时间显着增加。 将并发用户数量增加到每个服务器5,000个,每个端点的平均响应时间约为7秒。 服务器上的内存和CPU都非常低,两者的响应时间都很好,而且在恶化之后。 在拥有10,000个并发用户的峰值时,CPU的平均值仅仅低于50%,而RAM的坐标大约是3-4 GB。这让我们认为我们正在某种程度上受到某种限制。 以下屏幕截图显示了在负载testing期间perfmon中的一些关键计数器,共有10,000个并发用户。 突出显示的计数器是请求/秒。 在屏幕截图的右侧,您可以看到每秒请求图变得非常不稳定。 这是响应时间缓慢的主要指标。 一旦我们看到这种模式,我们注意到在负载testing中响应时间慢。 如何解决这个性能问题? 我们正试图确定这是一个编码问题还是一个configuration问题。 web.config或IIS中是否有任何设置可以解释这种行为? 应用程序池运行的是.NET v4.0,IIS版本是7.5。 我们通过默认设置进行的唯一更改是将应用程序池“ 队列长度”值从1,000更新为5,000。 我们还将以下configuration设置添加到Aspnet.config文件中: <system.web> <applicationPool maxConcurrentRequestsPerCPU="5000" maxConcurrentThreadsPerCPU="0" requestQueueLimit="5000" /> </system.web> 更多细节: API的目的是合并来自各种外部源的数据并作为JSON返回。 目前它正在使用InMemorycaching实现caching数据层的各个外部调用。 对资源的第一个请求将获取所有需要的数据,对相同资源的任何后续请求将从caching中获取结果。 我们有一个“caching运行程序”,作为后台进程实现,以特定的时间间隔更新caching中的信息。 我们添加了从外部资源中获取数据的代码。 我们还实现了以asynchronous方式从外部数据源获取数据的服务,以便端点只能像最慢的外部调用一样慢(除非我们有caching中的数据)。 这是使用System.Threading.Tasks.Task类完成的。 我们可以在进程的可用线程数方面受到限制吗?

代表客户域名发送电子邮件的最佳方法是什么?

我想知道使我的邮件服务器代表我的客户的域名发送电子邮件的最佳方式,而不是灰名单,也避免反弹问题。 我一直在这里 , 在这里和这里读一些其他的问题,但没有探讨所有可能的解决scheme。 以下是我想比较的一些可能性: 一个。 HELO mymailserver.com MAIL FROM<[email protected]> # mymailserver.com same IP as myapp.com DATA From: <[email protected]> Sender: <[email protected]> 问题 :这是Gmail所做的。 这是msg标题“From:”具有不同的域,而不是信封发件人。 emailclient将通过[email protected]或“From:[email protected]代表[email protected]”显示“来自: [email protected]” ,这不是问题为了我。 现在,这是否会严重影响我的域名,标题“From:”具有不同的域? (如果这不是谷歌谁做的..) B. HELO mymailserver.com MAIL FROM<[email protected]> DATA From: <[email protected]> # same as A, but no "Sender:" 它看起来像谷歌曾经这样做,并称它是一个错误http://groups.google.com/group/Gmail-Help-Message-Delivery-en/browse_thread/thread/f651cb1db5d9dd23/3a8bcd0548487863?lnk=gst&q=%22on+behalf +的%22&PLI = 1 一个bug从他们的消息中删除了“发件人:”,并且“via”没有出现在电子邮件客户端中。 (RFC表示它必须存在,如果它不同于“From:”) C。 HELO mymailserver.com MAIL FROM<[email protected]> […]

16TB卷和SNMP在Windows上

当大于16TB的卷变得越来越普遍时,人们认识到用于在SNMP中的标准“HOST-RESOURCES”MIB中报告磁盘大小和使用的32位值不足以报告正确的磁盘大小。 Net-SNMP似乎通过简单地操作“AllocationUnits”的值来维护磁盘利用率的32位值(因为总的磁盘大小/使用等于32位空间值乘以分配单位)来解决这个问题,以允许用于计算大于8 / 16TB的音量。 假设你在分配单元中没有任何报告兴趣,并且可能存在一小部分的不准确性。 这似乎是一个优雅的解决scheme。 https://bugzilla.redhat.com/show_bug.cgi?id=654384 然而,内置SNMP服务的Window似乎仍然受到这个错误的困扰,只是简单地报告了使用/分配的磁盘空间的模数,导致磁盘大小报告不准确。 有没有办法让Windows正确报告16TB以上卷的磁盘使用情况? 我们试图简单地安装Net-SNMP 5.5 x64并完全禁用Windows SNMP服务,但是这不幸的是没有解决我们的问题。 当使用NetSNMP扩展时,我们为我们感兴趣的特定磁盘收集的信息如下: 无论我们是使用vanilla Windows SNMP服务还是使用NetSNMP,这些结果都是相同的。 我已经看到Cacti社区的人们提到了简单的脚本解决scheme。 不幸的是,我们正在使用Observium进行快速和基本的系统监控。 如果这个问题不能在窗口方面纠正,Observium是否可以报告自定义的MIB? – 更新 – 查看bug报告中提到的将“realStorageUnits”添加到snmpd.conf文件中,设置该指令时遇到以下问题: – 更新2 – 那么,经过多less修补之后,它看起来不像Net-SNMP的任何Windows版本,如“realStorageUnits”指令。 启动SNMP时,包括指令的结果将会出现警告。 我们尝试了版本5.5,5.6和5.7。 有没有人曾经想过如何让SNMP在Windows上报告16+ TB的卷?

蜂窝networking的数据链路协议是什么?

蜂窝networking的链路层协议是什么? 高速蜂窝networking有几个平台。 从GSM到GPRS,W-CDMA,HSPA,LTE等等,我(大部分)都了解我在研究生课程(BPSK,QPSK,MIMO,衰落等)所学的无线电传输的物理细节, IP以上的软件细节。 但我不知道,我似乎无法find蜂窝networking中的具体数据链路协议的信息。 (而不是以太网,802.11等) 我特别感兴趣的是知道在链路层是否pipe理由衰落和其他工件引起的数据包丢失以及如何pipe理数据包丢失,或者如果他们根本不在意并让传输层关心这一点。 我这样问,是因为我想评估是否可以设法针对专门针对蜂窝networking的传输层(UDP)的数据包丢失问题采取一些措施。 我的问题是:蜂窝networking的数据链路协议是什么? 这只是解决一个更大的问题的出发点,这个问题超出了这个特定问题的范围。 看一些日本文件,似乎有一些协议,如WCDMA的DPCCH / DPDCH,但坦白说,这些信息非常稀缺(即使维基百科页面是孤儿在这一刻)。 有没有好的资源可以开始? 请注意,我是一个完整的新手在这个网站上。 请原谅,如果这个问题是错误的措辞,是不恰当的,或者如果它有问题。 我想学习,并成为这个社区的一个好成员 ,所以请考虑给我build设性的批评,如果你正在考虑closures或downvoting这个问题。 我非常认真地批评,这不会浪费你的时间。