xxx系统的可用性和易用性分析
xxx系统的可用性与易用性分析
今天我们来对某系统的可用性和易用性来进行分析。要想对其有一个合理且有效的分析,我们要先来了解一下什么是可用性和易用性。
可用性,可用性与系统故障以及其后果有关,当系统不再提供其规范中所说的服务时,就出现了系统故障。而可用性是指系统正常运行时间的比例,他的比值为:平均正常工作时间/(平均正常工作时间+平均修复时间)。
易用性,易用性关注的是用户完成某个期望任务的难易程度。它包括了:有效性、错误避免以及错误处理、用户自信和满意程度等。其实就是说用户使用某项功能是否觉得简单易用。
那么对于我们现在正在编的这个系统,如何提高他的可用性与易用性呢,《大型网站技术架构》给了我们合理的解决方案。网站的可用性,网站的可用性一般通过可用性指标来度量,包括2个9, 3个9, 4个9等学习度量指标。它用网站每年最长的故障时间来进行度量。事实上网站的故障是不可避免的,我们要做的就是尽量降低故障发生的概率。首先我们要学会的就是对系统的分层,通常将系统分为3层,即业务层、服务层和数据层。这样的分层有利于在故障发生时,准确定位故障,并及时解决故障。而当网站的规模比较大,有较多的用户同时访问时,我们可以交给集群服务器,然后进行负载均衡,将流量和数据分摊到集群的多台服务器上,提高整体的处理能力,提高可用性。Session管理,在集群环境中,Session管理主要有Session复制、Session绑定、用Cookie文件记录Session等方法,提供分布式的缓存。除此之外,还有以下几个方法提高可用性。分级管理,将服务器进行分级管理,核心应用和服务优先用更好的硬件,这样会提高运行的速度;超时设置,由于服务器宕机、线程死锁等原因,使用户长时间得不到响应,同时还占用应用程序的资源,所以我们要设置服务器超时时间,一旦超时就抛出异常;异步调用,就是将一个服务分成多步,这样就不会因为一个服务失败导致整个应用的请求失败;服务降级,就是说在网站访问的高峰期,拒绝访问低优先级的服务,节约资源,使服务器避免全部死机。接下来是一些数据的提高可用性的方法,保证数据高可用手段主要是数据备份和实效转移机制。其中要重点说一下的是代码管理,这里提到Github,并且预测将成为版本管理的主要软件,我觉得有必要系统的学习一下。
对于网站的易用性,就是然后觉得简单易用的一些处理机制,首先我们可以提高网页的打开速度,再好的网站打开速度慢,也就失去了用户,我们可以尽量少使用图片,合理设计数据库结构;让网站更加易于操作,如设计一些合理的快捷键,尽量不用动鼠标就不动鼠标;站在用户的角度考虑问题,多从用户的视角体验网站、多与用户交流、多挖掘用户的需求,让网站做到一切都是从用户的角度出发。