在不同的国家设立和维护服务器并让世界各地的运营商互相配合,成本很高。虽然有些大型组织能够建造自己的测试网络,但是大多数公司都依赖托管综合测试服务。使用第三方服务有以下几个理由。
1)成本。第三方服务比自己建设运行服务器更便宜。
2)节省时间。这些公司都提供预先定义的报告和工具,可以更容易地进行测试和报告性能。
3)立场更公正。因为是独立组织,所以测试结果更公正、更可信。这样的报告更容易作为解决与用户争执的证据。
在不同的国家设立和维护服务器并让世界各地的运营商互相配合,成本很高。虽然有些大型组织能够建造自己的测试网络,但是大多数公司都依赖托管综合测试服务。使用第三方服务有以下几个理由。
1)成本。第三方服务比自己建设运行服务器更便宜。
2)节省时间。这些公司都提供预先定义的报告和工具,可以更容易地进行测试和报告性能。
3)立场更公正。因为是独立组织,所以测试结果更公正、更可信。这样的报告更容易作为解决与用户争执的证据。
在在线式营销中,广告客户可以看到广告效果。业绩与销售活动是紧密关联的,在线方式更具有吸引力。
在线式营销也可以更好地被目标化。通过地理位置、性别、年龄、关键词等分类,信息容易引起接收者的共鸣,把想法变为行动。这些信息可以随着时间、销售活动进行调整,使其发挥最大效率。
在在线式营销模型中,虽然广告形式不同,但是广告客户仍然控制着信息。他们可以选择目标人群,但对信息分发范围的控制能力减弱,他们把部分工作外包给了其他在线公司。
方向代理服务器位于Web服务器和客户端之间,可以用于监测终端用户体验。近年来,这种方法不怎么受欢迎,因为它增加了基础设施的故障点。许多负载均衡器行为上很像反向代理,也可以用于性能监测。
一、反向代理如何捕获用户会话
反向代理服务器截获客户端请求,并把它们转发到服务器。类似的,它截获服务器请求并将其转发到客户端。它可以自己响应某些请求,如静态图片。并减轻服务器负荷。因为截获连接,所以它是SSL加密的端点,对服务器的访问数据是不加密的。
收集终端用户体验数据的一种方法是在客户端桌面上安装代理。这种代理可以观察到应用程序使用的方方面面,不仅仅是Web应用程序,还有其他应用程序。想知道用户在登录网站的时候是否在运行扫雷吗?客户端代理可以做到。它们也可以访问客户端操作系统,所以知道网络情况如何,使用了多少CPU资源。
不幸的是,可能无法使用它们。
一、客户端代理如何捕获用户会话
代理是安装于客户端桌面的应用软件。它们常用于企业级应用,常用在公司管理平台上,管理范围从防病毒更新到系统备份。它们位于操作系统和应用软件之间,能看到应用程序和操作系统资源之间的通信。
我想,每个人心里都清楚,想要授权最简单方便,维护工作量少,那自然是将所有权限都授予所有的用户了。但是,大家肯定也都知道,一个用户所拥有的权限越大,那么它给系统带来的潜在威胁也就越大。所以,从安全方面来考虑,权限自然是授予得越小越好。一个有足够安全意识的管理员在授权的时候,都会只授予必要的权限,而不会授予任何多余的权限。现在,我们就从安全的角度来考虑如何设计一个更为安全合理的授权策略。
首先,了解来访主机。
由于MySQL数据库登录验证用户的时候除了用户名和密码之外,还要验证来源主机。所以我们还需要了解每个用户可能从哪些主机发起连接。当然,也可以在授权的时候直接通过“%”通配符给所有主机访问的权限,但是这样做就违背了安全策略的原则,带来了潜在的风险,所以并不可取。尤其是在没有局域网防火墙保护的情况下,更不能轻易允许可以从任何主机登录的用户存在。能通过具体主机名或IP地址指定的尽量通过使用具体的主机名和IP地址来限定来访主机,不能用具体的主机名或IP地址限定的也需要用尽可能小的通配范围来限定。
很明显,为了了解和提高Web网站的表现有许多监测信息和指标的数据需要收集、分析。幸运的是,有许多工具可以用来自我监测。技巧在于如何选择恰当的工具来收集恰当的信息。
在最广的层次上,这些监测技术可以分为三大类:在Web连接的各个角落收集用户做什么;使用搜索引擎检索Web,在发生变化或出现特定关键字时给出提醒;用脚本直接测试网站。
一、收集工具
有许多方法可以收集访问者信息,这取决于你对服务器访问程度、用户浏览器的特性以及被收集的信息。
和逻辑备份一样,光有备份是没有意义的,还需要能够将备份有效地恢复才行。物理备份和逻辑备份相比最大的优势就是恢复速度快,因为主要是物理文件的复制,将备份文件复制到需要恢复的位置,然后进行简单的操作即可。
1、MyISAM存储引擎
MyISAM存储引擎由于其特性,物理备份的恢复也比较简单。
如果是通过停机冷备份或是在运行状态通过锁定写入操作后的备份集来恢复,仅仅需要通过操作系统的复制命令将备份集中相应的数据文件复制到对应位置,覆盖现有文件即可。
对于Web应用,活跃数据的数据量总不会特别大,有些活跃的数据更是很少变化。对于这类数据,是否有必要每次都到数据库中去查询呢?如果能够将变化相对较少的部分活跃数据通过应用层Cache机制缓存到内存中,对性能的提升肯定是成数量级的,而且由于是活跃数据,对系统整体性能的影响也会很大。
当然,通过Cache机制成功的案例数不胜数,但是失败的案例同样并不少见。如何合理地通过Cache技术让系统性能得到较大的提升也不是通过寥寥几笔就能说清楚的,这里我仅根据以往的经验列举一下什么样的数据适合通过Cache技术来提高系统性能。
在MySQL中使用最为广泛的除了MyISAM之外,就数InnoDB了。InnoDB作为第三方公司所开发的存储引擎,和MySQL遵守相同的开源许可证协议。
InnoDB之所以能如此受宠,主要是因为其功能方面的几个特点。
1、支持事务安全
InnoDB在功能方面最重要的一点就是对事务安全的支持,这无疑是让InnoDB成为MySQL最为流行的存储引擎的一个非常重要原因。而且它实现了SQL92标准所定义的所有4个级别的要求(READ UNCOMMITTED、READ COMMITTED、REPEATABLE和SERIALIZABLE)。对事务安全的支持,无疑让很多之前因为特殊业务要求而不得不放弃使用MySQL的用户重新支持MySQL,那些之前对数据库选型持观望态度的用户,也大大增加了对MySQL的好感。
规范的命名本身并不会对性能有任何影响,在这里我们单独来讲一讲,主要是因为这是一个不太被人重视,但是对后期的数据库维护影响非常大的内容。就像编程语言各自的一些不成文的编码基本规范一样,虽然由于在最初使用时看不出太多的利益,因而被人认为是一种束缚,但是当每一个人在接手维护一段编写很不规范的代码时,估计大部分都会非常郁闷,甚至在心里暗骂当初的编写者。其实任何系统都一样,没有任何规范可循,完全一个天马行空的作风,只会给后人(甚至可能是自己)留下一个让人摸不着头脑的烂摊子,难以维护。