我们目前正在制定我们将要进行的贸易研究的评估标准.
我们选择的标准之一是可靠性(和/或稳健性 - 这些是相同的吗?).
您如何评估该软件是否可靠而无需花费太多时间进行评估?
编辑:根据KenG给出的响应,缩小问题的重点:您可以在50个现有软件解决方案中进行选择.您需要评估它们的可靠性,而无法对它们进行测试(至少在最初阶段).您可以使用哪些有形指标来评估所述可靠性?
当前的应用程序使用Simple Java Mail每天发送几封电子邮件,但有些电子邮件永远不会发送给客户端.
根据应用程序服务器日志,已经有几个邮件服务器超时但这并不能解释所有丢失的电子邮件的情况.添加重试功能有助于解决超时问题,但是有没有其他方法可以提高电子邮件的可靠性?
我为在中小型目标上运行的嵌入式项目编写了一个小型操作系统.
我添加了一些具有高测试代码覆盖率(> 95%)的自动化单元测试,但范围仅是静态部分.
我得到了一些代码指标作为复杂性和可读性.
我正在使用支持MiSRA的规则检查器测试我的代码,当然还修复了所有警告.
我正在使用静态分析器测试代码并再次修复所有警告.
我现在可以做些什么来测试和改进我的操作系统的可靠性? 动态部分怎么样?
我遇到了一个非常有趣的可靠会话行为.我正在使用netTcp绑定+双工通道+可靠会话.
当我试图收听channel.faulted时,如果安全模式设置为transport,则当客户端断开连接时,故障事件将立即触发.
但是,当我将绑定的安全模式设置为None或Message时,故障事件不再在相同的情况下触发.他们最终会在服务器端出现故障的一半ReciveTimeout,我理解当时可靠的会话会发送心跳消息.
问题是:为什么wcf绑定不会出现故障?
这种情况的解决方法是我可以手动"ping"连接.
我有一个定期运行的应用程序(这是一个计划任务).该任务每分钟启动一次,通常只需几秒钟即可完成业务,然后退出.
但是应用程序将会挂起,每80,000个机会(每两三个月)就有一个机会.根本原因是因为我们使用Microsoft ServerXmlHttpRequest组件来执行某些工作,有时它只是决定挂起.服务器 XmlHttpRequest优于XmlHttpRequest 的优点是不建议将后者用于重要场景,例如可靠性和安全性很重要(无人值守的服务器组件也是如此):
该
ServerXMLHTTP对象提供与对象类似的功能XMLHTTP.XMLHTTP但是,与ServerXMLHTTP对象不同,对象不依赖于WinInet控件来访问远程XML文档.ServerXMLHTTP使用新的HTTP客户端堆栈.专为服务器应用程序而设计,WinInet的这个服务器安全子集具有以下优势:
- 可靠性 - HTTP客户端堆栈提供更长的正常运行时间.WinInet功能对服务器应用程序并不重要,例如URL缓存,代理服务器的自动发现,HTTP/1.1分块,离线支持以及对Gopher和FTP协议的支持不包含在新的HTTP子集中.
- 安全性 - HTTP客户端堆栈不允许与其他用户的会话共享特定于用户的状态.ServerXMLHTTP提供对客户端证书的支持.
该作业正在作为计划任务运行.我需要继续定期运行任务; 杀死现有的进程,如果已经死了.
Windows任务计划程序确实有一个强制关闭运行时间过长的任务的选项:
这种方法的唯一缺点是它根本不起作用 - 它根本不能阻止任务.挂起的进程一直在运行.
鉴于我不能相信Microsoft ServerXmlHttpRequest不能任意锁定,并且任务调度程序无法终止计划任务,我需要一些方法来自己完成.
我尝试使用Job Objects API:
甲作业对象允许的处理组作为一个单元来管理.作业对象是可命名的,安全的,可共享的对象,用于控制与其关联的进程的属性.作业可以对与作业关联的每个进程强制执行限制,例如工作集大小,进程优先级和作业结束时间限制.
那个音符听起来就像我需要的那样:
作业可以对与作业关联的每个进程强制执行作业时间限制等限制.
这种方法的唯一缺点是它不起作用.工作不能对流程施加时间限制.他们只能对进程强加用户时间限制:
PerProcessUserTimeLimit
如果LimitFlags指定JOB_OBJECT_LIMIT_PROCESS_TIME,则此成员是每进程用户模式执行时间限制,以100纳秒为单位.
如果进程处于空闲状态(例如,作为ServerXmlHttpRequest坐在MsgWaitForSingleObject处),那么它将不会累积任何用户时间.我测试了它.我创建了一个有1秒时间限制的工作,并将自己的流程放入其中.只要我不在我的测试应用程序周围移动鼠标,它就会很高兴地坐在那里超过一秒钟.
鉴于我的主线程无限期被阻止,我能想象的唯一其他技术是另一个线程.我能想象的唯一解决方案是生成另一个将在我的三分钟内休眠的线程,然后是ExitProcess:
Int32 watchdogTimeoutSeconds = FindCmdLineSwitch("watchdog", 0);
if (watchdogTimeoutSeconds > 0)
Thread thread = new …Run Code Online (Sandbox Code Playgroud) 我正在开发 PhoneGap 移动应用程序,并且正在研究数据存储选项。
我的要求:
1)小数据需求(永远不会超过或接近 5Mb 限制)
2)能够以最小的调整(或最好,没有)将应用程序移植到所有主要平台
在我看来,localStorage 是我唯一的选择,因为它受到所有平台的支持。
问题:
1)是否有任何适用于所有平台的 localStorage 替代方案?
2)localStorage的可靠性如何或localStorage的持久性如何?
3)如果用户删除手机上浏览器的现金或类似内容,我的数据会保留吗?或者,localStorage 数据丢失会发生什么情况?
谢谢
我目前正在开发一个巨大的项目,可能每天使用C++中的zlib压缩/解压缩数千个文档.(我们的实现有zlib 1.2.8)
我们当前的实现支持带有和不带标头的压缩文件,但是必须设置布尔"useZlibHeader".
我们的团队想知道是否有100%可靠的方法来确定标头是否存在.
根据这个文档:https://www.ietf.org/rfc/rfc1950.txt,它被称为"FCHECK值必须是CMF和FLG,当被视为以MSB顺序存储的16位无符号整数(CMF)*256 + FLG),是31的倍数."
确实这是一个很好的检查,但有可能我们最终得到一个没有标题的压缩文件,但它的数据是(CMF*256 + FLG)将是31的倍数.
有没有更好的方法来检测标题是否存在?是否有可能我们可能会严重检测到标头的存在,并且解压缩不会抛出异常,输出错误的数据?
谢谢
我正面临卡夫卡的第一英里问题。每个人都会处理分区等问题,但如何处理第一英里呢?
我的系统由许多应用程序组成,这些应用程序生成分布在节点上的事件。我需要以可靠/故障安全的方式将这些事件传递给一组充当消费者的应用程序。选择的消息系统是 Kafka(由于其日志性质),但它并不是一成不变的。
事件应该尽可能以解耦的即发即忘的方式传播。这意味着生产者应该对可靠地传递消息负全部责任。这意味着生成事件的应用程序根本不必担心事件传递。
生产者的可靠性模式必须考虑:
到目前为止,我检查过的库都没有涵盖这些情况。有建议的策略来解决这个问题吗?
我知道Producer 期间存在可重试和不可重试的错误send()。对于那些可重试的内容,库通常会在内部处理所有事情。但是,不可重试以异步回调中的异常结束......
我应该盲目地无限重播这些吗?对于网络中断,它应该可以工作,但是 Kafka 内部错误怎么样 - 比如说消息太大。可能有类似DeadLetterQueue的机制+重播。但是,如何处理消息计数......
关于持久性 - 轻量级数据库后端应该可以解决这个问题。只需创建一个持久队列,然后删除那些已经发送/确认的队列。然而,恐怕如果这么简单的话,它很早以前就已经在标准 Kafka 库中实现了。性能可能会下降。
看到像KAFKA-3686或KAFKA-1955这样的东西让我有点担心。
提前致谢。
我想知道,当向 postgres 数据库发出查询时,是否可以设置它可能消耗的各种系统资源的上限。
例如,“X Query 在执行过程中的任何时候可能会使用最多但不超过 40% 的 CPU。”
类似的还有内存、持久化存储IO等。
我在这里设想的用例是防止某些数据库用户子集的恶意查询完全锁定其他用户的机器/数据库资源,无论是因为查询计划无效,还是涉及的数据量太大查询的某些参数明显不同。
我猜这是不可能/不可行的原因,如果是这样的话,我将不胜感激对原因的一些见解。
我想根据给定已知 N(样本大小)、标准差和平均值的数据集的正态分布计算单侧公差范围。
如果间隔是两侧的,我会执行以下操作:
conf_int = stats.norm.interval(alpha, loc=mean, scale=sigma)
在我的情况下,我正在引导样本,但如果我不是,我会参考 stackoverflow 上的这篇文章:Cure way to getting CI scipy并使用以下内容:conf_int = stats.norm.interval(0.68, loc=mean, scale=sigma / np.sqrt(len(a)))
您会如何做同样的事情,但将其计算为单边边界(95% 的值高于或低于 x<--bound)?
reliability ×10
apache-kafka ×1
c ×1
c++ ×1
compression ×1
cordova ×1
database ×1
email ×1
embedded ×1
faulted ×1
header ×1
java ×1
messaging ×1
mobile ×1
postgresql ×1
process ×1
producer ×1
python ×1
scipy ×1
statistics ×1
unit-testing ×1
watchdog ×1
wcf ×1
winapi ×1
windows ×1
zlib ×1