我是一个开发人员,但我有一个问题似乎属于更多的ServerFault类别比StackOverflow。 我们有一个每隔一段时间就会倾倒的生产服务: System.Runtime.InteropServices.COMException:调用被消息filter取消。 (从HRESULTexception:0x80010002(RPC_E_CALL_CANCELED)) 触发此错误的代码是使用WMI获取networking接口MAC地址。 我有replace代码不使用WMI,但我们需要在更改之前/之后validation问题。 我的问题是:我如何人为地重新创build上面生成的错误信息?
我已经构build了一个简单的apache + django + mod_wsgi webapp,我正在testing我的本地机器。 我已经开始使用ab进行负载testing了 – 而且我看到一些失败的请求。 ab -n 500 -c 100 "http://localhost/" output: …. Complete requests: 500 Failed requests: 27 在我的apacheconfiguration中,我closures了Keepalive,MaxClients&MaxKeepAliveRequests的所有configuration都设置为150.当我启动100个连接时,我不认为我达到了这个限制。 顶部说我也没有用完内存 我怎样才能减less失败的请求数量? 还有这些失败的请求的日志/logging? – 因为在apache日志中没有任何东西。
我想创build一个testing数据库,每天使用生产数据库中的数据进行刷新。 但是 ,我想能够在testing数据库中创buildlogging,并保留它们而不是被覆盖。 我想知道是否有一个简单的方法来做到这一点。 这两个数据库运行在同一台服务器上,显然是排除了复制? 澄清,这是我想要发生的事情: testing数据库是使用生产数据创build的 我创build了一些我想要在testing服务器上运行的testinglogging(基本上我可以创build一些我可以玩的示例logging) 第二天,数据库被完全刷新,但是当天创build的logging被保留。 那天未被触动的logging被生产数据库中的loggingreplace。 这很复杂,如果删除了生产数据库中的一个logging,我也希望它在testing数据库上也被删除,所以我想删除testing数据库中不再存在于生产数据库中的logging,除非这些logging在testing数据库中创build。 看起来像这样做的唯一方法是有一些表存储关于正在创build的logging的元数据? 举个例子,像这样的东西: CREATE TABLE MetaDataRecords ( id integer not null primary key auto_increment, tablename varchar(100), action char(1), pk varchar(100) ); DELETE FROM testdb.users WHERE NOT EXISTS (SELECT * from proddb.users WHERE proddb.users.id=testdb.users.id) AND NOT EXISTS (SELECT * from testdb.MetaDataRecords WHERE testdb.MetaDataRecords.pk=testdb.users.pk AND testdb.MetaDataRecords.action='C' AND […]
我第一次尝试压力testing一个简单的django web应用程序,运行在gunicorn和nginx上,我把它放在一个小型的256MB Rackspace Cloud服务器上。 使用httperf,我增加每秒的连接数,直到我开始得到错误例如 httperf –hog –server=localhost –uri=/myapp –timeout=10 –num-conns=2500 –rate=25 我发现,从Django几乎静态页面,我可以得到约35 req /秒之前,错误开始被抛出。 对于需要数据库查询和更多处理的更加dynamic的页面,我可以获得大约25次/秒。 最初我只使用1个gunicorn worker,但增加到4个worker(我认为我的云服务器有4个内核)似乎没有任何区别(它仍然开始抛出25 req / sec以上的错误)。 这些结果听起来像预期的一样,考虑到这是一个如此小(256MB)的服务器上运行? 另外,是否有任何改变,我可以提高吞吐量?
在我们的应用程序的性能testing期间,我发现在极端负载下,可能发生的一个问题是偶尔的mysql连接错误(即在这个阶段,我不认为把它称为bug是公平的)。 最终,应用程序将被mysql阻止。 我可以扩展SET GLOBAL max_connect_errors=10000; (目前是10),但假设在很长时间内100%的MySQL正常运行时间,这个问题最终会再次发生吗? 这是mysql的“阻止主机”function: 主机“host_name”由于连接错误而被阻塞。 用'mysqladmin flush-hosts'解锁 如果没有主动的干预,连接错误总是会刷新或以其他方式拒绝? 更新 我发现有矛盾的信息,Perconabuild议一个非常高的限制(“大约1000000是好的”)暗示没有。 但在文档状态的其他地方只有连续的错误被计数意味着是,一个成功的连接将刷新错误计数。 8.11.5.2。 DNS查找优化和主机caching 如果没有成功的连接从一个给定的主机连续发生这些事件太多,则服务器将阻止来自该主机的进一步连接。 max_connect_errors系统variables决定发生阻塞之前允许的错误的数量 有没有人运行MySQL 5.6.5哪里host_cache暴露或知道明确?
我有一个在Hyper-V上运行的LSI 9265-8i控制器。 我怎样才能在原地对硬盘进行压力testing? 我想testing像iOPS,寻找时间等
我的目标是大致了解我的服务器一次可以处理多less个apache2连接。 我已经经历了所有正在运行的进程,包括apache2进程,并且指出使用的总共840mb,480mb左右可以与“开销”相关联,其余的360mb来自apache进程(平均20mb每个apache2进程)。 那么,这是一个公平的公式来确定我允许的最大连接吗? (server size – overhead) / 20 所以,根据上面的数字1 GB的服务器,我应该能够处理27个连接。 有了一个2 GB的服务器,我应该能够处理78.等等。 这种方法是否有任何意义?
我试图优化一个数字海洋液滴(512mb),使用loader.io进行testing 我正在testing我的主页,这是HTTPS / PHP。 我设置了FastCGI页面caching,从100 req / sec到2000 req / sec。 但是超过2000 req / sec的任何事情都会导致很多超时和缓慢的响应(平均从20ms到1500ms)。 我试图找出瓶颈。 这不是CPU /内存,因为负载刚刚达到0.30,内存使用量大约是一半。 我尝试调整到更大的水滴,超时仍然发生。 这不是FastCGI,因为基本的.html文件的负载testing性能几乎相同。 在超时期间,error.log是空的。 没有什么似乎是抛出错误(我可以find)。 Kern.log有这个日志: TCP: Possible SYN flooding on port 80. Sending cookies. Check SNMP counters TCP: Possible SYN flooding on port 443. Sending cookies. Check SNMP counters. 我试图禁用syncookies,它停止了这些错误,但超时仍然存在。 在超时期间,我开始看到TIME_WAIT的积累: netstat -ntla | awk '{print $6}' […]
我们有一个案例,我们需要testing一些与夏令时相关的脚本和应用程序代码。 我们希望通过禁用NTP服务和改变系统时间来模拟夏令时开关。 很明显,基础设施组件可能不会像Kerberosauthentication那样在系统中performance得很好。 有谁知道我们如何validation和testing夏令时开关(我们专注于Windows系统)还是唯一的select,以创build一个单独的环境与我们的基础设施组件?
我尝试增加我的服务器可以处理的并发连接数。 $uname -a Linux debian 3.16.0-4-amd64 #1 SMP Debian 3.16.36-1+deb8u2 (2016-10-19) x86_64 GNU/Linux $ulimit -Sn 65536 $ulimit -Hn 65536 Nginx的configuration有以下几行: worker_processes 4; # or 8 worker_rlimit_nofile 60000; events { worker_connections 1024; } 还有一个困(无限睡觉)通过上游使用的python asyncio HTTP后端。 经过几秒钟的负载testing: 2016/11/03 05:13:44 [alert] 15#15: 1024 worker_connections are not enough 2016/11/03 05:13:44 [alert] 15#15: 1024 worker_connections are not enough 而 […]