手机APP服务器如何做性能和服务器压力测试方案

性能测试中Web服务器和APP服务器——解析
最近给与大家进行3T交流的时候,说到C/S/S,
B/S/S三层结构,对其中某些内容有点模糊,所以查找了其中的一些资料,对自己进行答疑解惑,希望对浏览的同学们有所帮助.
  通俗的讲,Web服务器传送(serves)页面使浏览器可以浏览,然而应用程序服务器提供的是客户端应用程序可以调用(call)的方法
(methods)。确切一点,你可以说:Web服务器专门处理HTTP请求(request),但是应用程序服务器是通过很多协议来为应用程序提供
(serves)商业逻辑(business logic)。Web服务器(Web
Server)Web服务器可以解析(handles)HTTP协议。当Web服务器接收到一个HTTP请求(request),会返回一个HTTP响应
(response),例如送回一个HTML页面。为了处理一个请求(request),Web服务器可以响应(response)一个静态页面或图片,
进行页面跳转(redirect),或者把动态响应(dynamic
response)的产生委托(delegate)给一些其他的程序例如CGI脚本,JSP(Java Server
Pages)脚本,servlets,ASP(Active Server Pages)脚本,服务器端(server-side)java
script,或者一些其它的服务器端(server-side)技术。无论它们(译者注:脚本)的目的如何,这些服务器端(server-side)的
程序通常产生一个HTML的响应(response)来让浏览器可以浏览。要知道,Web服务器的代理模型(delegation
model)非常简单。当一个请求(request)被送到Web服务器里来时,它只单纯的把请求(request)传递给可以很好的处理请求
(request)的程序(译者注:服务器端脚本)。Web服务器仅仅提供一个可以执行服务器端(server-side)程序和返回(程序所产生的)响
应(response)的环境,而不会超出职能范围。服务器端(server-side)程序通常具有事务处理(transaction
processing),数据库连接(database
connectivity)和消息(messaging)等功能。虽然Web服务器不支持事务处理或数据库连接池,但它可以配置(employ)各种策略
(strategies)来实现容错性(fault tolerance)和可扩展性(scalability),例如负载平衡(load
balancing),缓冲(caching)。集群特征(clustering—features)经常被误认为仅仅是应用程序服务器专有的特征。
  应用程序服务器(The Application
Server)根据我们的定义,作为应用程序服务器,它通过各种协议,可以包括HTTP,把商业逻辑暴露给(expose)客户端应用程序。Web服务器
主要是处理向浏览器发送HTML以供浏览,而应用程序服务器提供访问商业逻辑的途径以供客户端应用程序使用。应用程序使用此商业逻辑就象你调用对象的一个
方法(或过程语言中的一个函数)一样。应用程序服务器的客户端(包含有图形用户界面(GUI)的)可能会运行在一台PC、一个Web服务器或者甚至是其它
的应用程序服务器上。在应用程序服务器与其客户端之间来回穿梭(traveling)的信息不仅仅局限于简单的显示标记。相反,这种信息就是程序逻辑
logic)。正是由于这种逻辑取得了(takes)数据和方法调用(calls)的形式而不是静态HTML,所以客户端才可以随心所欲的使用这种被暴露
的商业逻辑。在大多数情形下,应用程序服务器是通过组件(component)的应用程序接口(API)把商业逻辑暴露(expose)(给客户端应用程
序)的,例如基于J2EE(Java 2 Platform, Enterprise
Edition)应用程序服务器的EJB(Enterprise
JavaBean)组件模型。此外,应用程序服务器可以管理自己的资源,例如看大门的工作(gate-keeping
duties)包括安全(security),事务处理(transaction processing),资源池(resource
pooling),和消息(messaging)。就象Web服务器一样,应用程序服务器配置了多种可扩展(scalability)和容错(fault
tolerance)技术。 例如,设想一个在线商店(网站)提供实时定价(real-time
pricing)和有效性(availability)信息。这个站点(site)很可能会提供一个表单(form)让你来选择产品。当你提交查询
(query)后,网站会进行查找(lookup)并把结果内嵌在HTML页面中返回。网站可以有很多种方式来实现这种功能。我要介绍一个不使用应用程序
服务器的情景和一个使用应用程序服务器的情景。观察一下这两中情景的不同会有助于你了解应用程序服务器的功能。
  情景1:不带应用程序服务器的Web服务器在此种情景下,一个Web服务器独立提供在线商店的功能。Web服务器获得你的请求
(request),然后发送给服务器端(server-side)可以处理请求(request)的程序。此程序从数据库或文本文件(flat
file,译者注:flat
file是指没有特殊格式的非二进制的文件,如properties和XML文件等)中查找定价信息。一旦找到,服务器端(server-side)程序
把结果信息表示成(formulate)HTML形式,最后Web服务器把结果发送到你的Web浏览器。简而言之,Web服务器只是简单的通过响应
(response)HTML页面来处理HTTP请求(request)。
  情景2:带应用程序服务器的Web服务器情景2和情景1相同的是Web服务器还是把响应(response)的产生委托(delegates)
给脚本(译者注:服务器端(server-side)程序)。然而,你可以把查找定价的商业逻辑(business
logic)放到应用程序服务器上。由于这种变化,此脚本只是简单的调用应用程序服务器的查找服务(lookup
service),而不是已经知道如何查找数据然后表示为(formulate)一个响应(response)。这时当该脚本程序产生HTML响应
(response)时就可以使用该服务的返回结果了。在此情景中,应用程序服务器提供(serves)了用于查询产品的定价信息的商业逻辑。(服务器
的)这种功能(functionality)没有指出有关显示和客户端如何使用此信息的细节,相反客户端和应用程序服务器只是来回传送数据。当有客户端调
用应用程序服务器的查找服务(lookup
service)时,此服务只是简单的查找并返回结果给客户端。通过从响应产生(response-generating)HTML的代码中分离出来,在
应用程序之中该定价(查找)逻辑的可重用性更强了。其他的客户端,例如收款机,也可以调用同样的服务(service)来作为一个店员给客户结帐。相反,
在情景1中的定价查找服务是不可重用的因为信息内嵌在HTML页中了。总而言之,在情景2的模型中,在Web服务器通过回应HTML页面来处理HTTP请
求(request),而应用程序服务器则是通过处理定价和有效性(availability)请求(request)来提供应用程序逻辑的。
  警告(Caveats) 现在,XML Web
Services已经使应用程序服务器和Web服务器的界线混淆了。通过传送一个XML有效载荷(payload)给服务器,Web服务器现在可以处理数
据和响应(response)的能力与以前的应用程序服务器同样多了。另外,现在大多数应用程序服务器也包含了Web服务器,这就意味着可以把Web服务
器当作是应用程序服务器的一个子集(subset)。虽然应用程序服务器包含了Web服务器的功能,但是开发者很少把应用程序服务器部署(deploy)
成这种功能(capacity)(译者注:这种功能是指既有应用程序服务器的功能又有Web服务器的功能)。相反,如果需要,他们通常会把Web服务器独
立配置,和应用程序服务器一前一后。这种功能的分离有助于提高性能(简单的Web请求(request)就不会影响应用程序服务器了),分开配置(专门的
Web服务器,集群(clustering)等等),而且给最佳产品的选取留有余地。
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。用户名:xqtesting
文章数:543
评论数:199
访问量:717805
注册日期:
阅读量:1297
阅读量:3317
阅读量:447914
阅读量:1132968
51CTO推荐博文
QQ群,无商业广告,每日干货电子书+视频分享荔枝FM手机客户端搜索“挨踢脱口秀”即可订阅我们视频汇总首页:随着运营商新技术新业务的发展,运营商集团层面对安全的要求有所变化,渗透测试工作将会面临内容安全、计费安全、客户信息安全、业务逻辑及APP等方面的挑战。随着运营商自主开发的移动APP越来越多,这些APP可能并不会通过应用市场审核及发布,其中的安全性将面临越来越多的挑战。这个问题也引起了运营商的足够重视,已经自主开发了自动化检测工具及定期的APP安全测试评估工作。在此,绿盟科技博客特别邀请到移动APP安全测试专家,让他们结合一次Android APP安全测试实例,为大家讲解评估特点,并将评估检查点、评估细节和整改建议一一列出,给大家提供移动终端APP安全测试的思路。评估思路移动APP面临的威胁风起云涌的高科技时代,随着智能手机和iPad等移动终端设备的普及,人们逐渐习惯了使用应用客户端上网的方式,而智能终端的普及不仅推动了移动互联网的发展,也带来了移动应用的爆炸式增长。在海量的应用中,APP可能会面临如下威胁:新技术新业务移动APP评估思路在这次的移动APP安全测试实例中,工作小组主要通过如下7个方向,进行移动终端APP安全评估:运营商自动化APP测评思路运营商自主开发的自动化APP安全检测工具,通过”地、集、省”三级机构协作的方式,来完成移动终端APP安全检测与评估。APP测试思路如下:安全检测要点Allowbackup漏洞AndroidManifest.xml文件中allowBackup属性值被设置为true。当allowBackup标志为true时,用户可通过adb backup来进行对应用数据的备份,在无root的情况下可以导出应用中存储的所有数据,造成用户数据的严重泄露。整改建议:将参数android:allowBackup属性设置为false,不能对应用数据备份。WebView漏洞应用中存在WebView漏洞,没有对注册JAVA类的方法调用进行限制,导致攻击者可以利用反射机制调用未注册的其他任何JAVA类,最终导致javascript代码对设备进行任意攻击。整改建议:通过在Java的远程方法上面声明一个@JavascriptInterface 来代替addjavascriptInterface;在使用js2java的bridge时候,需要对每个传入的参数进行验证,屏蔽攻击代码;Note :控制相关权限或者尽可能不要使用js2java 的bridge 。关键数据明文传输应用程序在登录过程中,使用http协议明文传输用户名和密码,并未对用户名和密码进行加密处理。通过监控网络数据就可以截获到用户名和用户密码数据,导致用户信息泄露,给用户带来安全风险。整改建议:在传输敏感信息时应对敏感信息进行加密处理。任意账号注册使用手机号133*****887注册某个APP,获取验证码46908;在确认提交时,拦截请求,修改注册的手机号码,即可注册任意账号,这里修改为1338*****678(任意手机号);分别使用133**887和133**678(任意手机号)登录,均可以通过验证登录,看到最终结果。整改建议:注册过程最后的确认提交时,服务器应验证提交的账号是否是下发验证码的手机号。登录界面可被钓鱼劫持应用存在钓鱼劫持风险。应用程序没有做防钓鱼劫持措施,通过劫持应用程序的登录界面,可以获取用户的账号和密码,可能导致用户账号信息的泄露。整改建议:应用程序自身通过获取栈顶activity,判断系统当前运行的程序,一旦发现应用切换(可能被劫持),给予用户提示以防范钓鱼程序的欺诈。获取栈顶activity(如下图),当涉及敏感activity(登录、交易等)切换时,判断当前是否仍留在原程序,若不是则通过Toast给予用户提示。使用HTML5架构或android+HTML5混合开发,实现登陆、支付等关键页面,降低被劫持的风险。有争议的整改建议在实施整改过程中,运营商、APP厂商及安全厂商之间就如下几点存在争议:关键数据明文传输根据客户测评结果以及移动终端APP厂商理解,目前的数据安全问题可为:客户端安全(数据录入)
客户端到服务器安全(数据传输)
服务器端安全(数据存储)而关键数据明文传输属于客户端数据录入安全,针对此部分,目前不仅是移动终端APP,包括Web安全方面,对此部分要求也是不一而分,具体可以体现为:具有现金流的交易平台:此类业务安全级别要求最高,在数据传输方面也是目前做得最好的。主要代表是:淘宝、京东、各大银行网银等。具有较大社会影响力的平台:此类业务安全级别低于上述业务,但由于账户数据丢失以后,对其自身以及社会影响较大,所以在传输上也不会采取明文传输。如:百度、腾讯等。数据丢失本身不会造成较大的影响的平台:此类业务账户数据本身价值不大,丢失以后也不会造成影响,或者本身不会受到太大关注,一般都不会对传输数据进行加密。这样的例子比比皆是。当然也有厂商提出,明文传输在某些专业的漏洞检测和通报的网站上,是不属于安全漏洞的,为了验证此异议,在某平台上提交了一份关于明文传输的漏洞,得到的结果请看下图:登录界面钓鱼劫持APP应用存在钓鱼劫持风险。应用程序没有做防钓鱼劫持措施,通过劫持应用程序的登录界面,可以获取用户的账号和密码,可能导致用户账号信息的泄露。这一条检测结果,最大的争议在于按照整改建议整改以后,对一般用户来说,没有任何作用。首先,我们了解一下钓鱼劫持如何产生。Android钓鱼原理需要理解,Android启动一个Activity时,是这样设计的,给Activity加入一个标志位FLAG_ACTIVITY_NEW_TASK,就能使它置于栈顶并立马呈现给用户。但是这样的设计却有一个缺陷。如果这个Activity是用于盗号的伪装Activity呢?这种现象在XcodeGhost事件中,已经被证实是可以实现的。在Android系统当中,程序可以枚举当前运行的进程而不需要声明其他权限,这样的话,就可以编写一个程序,启动一个后台的服务,这个服务不断地扫描当前运行的进程,当发现目标进程启动时,就启动一个伪装的Activity。如果这个Activity是登录界面,那么就可以从中获取用户的账号密码,具体的过程如下图:检测原理描述清楚以后,就需要给出让软件厂商能够明白的整改建议以及漏洞情景重现。Android钓鱼情景演示以小米手机为例:1.当打开3个APP时,最后一个打开的APP”语音助手”,切换至手机桌面,长按HOME键查看进程,”语音助手”会显示在进程的第一个。2.点击”微信”以后,切换至”微信”,再查看进程,可以看到,进程中由于”微信”已切换至当前窗口,故进程中不存在。3.可以从第1步看到,当切换至手机桌面时,无论是语音助手、手机令牌、还是微信,都是默认后台运行,而且切换出来以后无任何提示。这样,当恶意activity收到微信登录界面或者其他敏感界面的时候,就会抢先推送至客户,从而让客户轻易的输入了帐号,并获取了客户的信息,但此时微信不会做任何提示。4.再来观看一下某行手机APP,当切换至手机桌面时,会对客户做出提示。如下图:假设一下页面是恶意推送的activity,那么在恶意推送的APP页面,应该会显示出此类提示,告知客户,此页面并非正常APP的页面。用户打开正常页面 vs 用户打开了恶意页面:
了这篇文章
类别:┆阅读(0)┆评论(0)您所在的位置: &
Total Control怎么进行手机APP性能测试
时间: 10:52:15
编辑:linyanhong
来源:下载吧
Total Control怎么进行手机APP性能测试?Total Control手机软件测试工具,可以将手机屏幕投射到电脑上,并可以用鼠标/键盘控制手机屏幕。同时,还可以对手机中安装的APP进行功能和性能测试。以很多人关注的P图软件为例,分享步骤流程。Total Control怎么进行手机APP性能测试?1.下载安装Total Control 手机软件测试工具。2.用USB或WIFI通过Total Control 将手机与电脑连接起来,此时可以看到手机屏幕投射到电脑端的画面。3、打开同一个修图软件,对同一张样片进行不同滤镜的选择。不同滤镜的显示效果一目了然。此时,可以将手机小屏投射到电脑大屏,直观清晰的对比不同滤镜下样片的呈现效果,并可以用鼠标进行操作,方便快捷。也可以对修图软件的性能和功能有很直接的体验和了解。
分享给朋友:
下载204280次
下载37041次
下载42225次
热门关键字拒绝访问 | www.1398.org | 百度云加速
请打开cookies.
此网站 (www.1398.org) 的管理员禁止了您的访问。原因是您的访问包含了非浏览器特征(39114baa-ua98).
重新安装浏览器,或使用别的浏览器}

我要回帖

更多关于 服务器压力测试 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信