欢迎光临
我们一直在努力
广告
广告
广告
广告
广告
广告
广告
广告
广告
广告
广告
广告

洞悉应用在不同服务器上的部署与性能差异

洞悉应用在不同服务器上的部署与性能差异
洞悉应用在不同服务器上的部署与性能差异

一、引言

随着信息技术的飞速发展,服务器作为支撑各类应用运行的重要基础设施,其选择和部署显得尤为重要。

不同的服务器不仅在硬件配置、软件支持、可扩展性等方面存在差异,更会影响应用部署的便利性和运行性能。

本文将小哥探讨应用在不同服务器上的部署过程与性能差异,帮助读者更好地理解并根据实际需求选择合适的服务器。

二、服务器类型简介

1. 云计算服务器

云计算服务器基于云计算技术,为用户提供动态、可扩展的虚拟计算服务。

它拥有高度的灵活性和可扩展性,可以快速响应业务需求的变化。

部署应用时,通常只需通过云服务提供商的API或管理界面进行简单的操作即可完成。

2. 物理服务器

物理服务器是实体硬件服务器,拥有较高的性能和稳定性。

它适用于需要高性能计算、大数据处理等业务场景。

部署应用时,需要考虑硬件兼容性、操作系统选择等因素,相对较为复杂。

3. 虚拟专用服务器(VPS)

VPS是在物理服务器上通过虚拟化技术划分的独立虚拟空间。

它成本较低,适用于中小型网站、个人博客等应用场景。

部署应用时,需要在有限的资源内进行优化配置。

三、部署过程分析

1. 需求分析

在选择服务器之前,首先要明确应用的需求,包括计算资源、存储资源、带宽需求等。

根据需求的不同,选择合适的服务器类型。

2. 云计算服务器部署

部署到云计算服务器上的过程相对简单。

用户只需通过云服务提供商的门户或API进行实例创建、操作系统选择、网络配置等操作,即可快速完成应用的部署。

云计算服务器的弹性扩展特性,可以根据应用的负载情况动态调整资源。

3. 物理服务器部署

物理服务器的部署过程相对复杂,需要考虑硬件兼容性、操作系统选择、网络配置等多个因素。

通常需要专业的系统管理员进行硬件采购、组装、系统安装、环境配置等工作。

物理服务器的维护和管理也相对复杂。

4. VPS部署

VPS的部署过程介于云计算服务器和物理服务器之间。

用户可以通过虚拟化平台创建VPS实例,并在其上安装操作系统和应用软件。

由于资源有限,需要对应用进行优化配置,以确保应用的稳定运行。

四、性能差异探讨

1. 云计算服务器性能

云计算服务器具有高度的弹性和可扩展性,可以快速响应业务负载的变化。

其性能取决于云服务提供商的资源配置和调度策略。

云计算服务器还具有数据备份、灾备恢复等特性,确保应用的高可用性。

2. 物理服务器性能

物理服务器的性能取决于其硬件配置,如CPU、内存、存储等。

由于其硬件资源的独占性,物理服务器在高负载、大数据处理等方面具有优势。

物理服务器的稳定性和安全性也较高。

3. VPS性能

VPS的性能受限于其虚拟资源分配,相对于物理服务器和云计算服务器,其性能可能较低。

但在优化配置和轻量级应用方面,VPS可以满足一些基本需求。

五、结论

不同类型的服务器在部署过程和性能上存在差异。

在选择服务器时,应根据应用的需求、预算、业务发展等因素进行综合考虑。

云计算服务器适合需要快速扩展、灵活调整的应用;物理服务器适合高负载、高性能计算的业务;VPS则适合资源需求较少的中小型应用。

通过对不同服务器的小哥了解,可以更好地满足业务需求,提高应用的部署效率和运行性能。


SQL Server 2005的有哪些新特点

看看官方的介绍吧:SQL Server 2005 新增功能企业数据管理在当今的互联世界中,数据和管理数据的系统必须始终为 用户可用且能够确保安全。

有了 SQL Server 2005,组织内的用户和信息技术 (IT) 专家将从减少的应用程序停机时间、提高的可伸缩性及 性能、更紧密而灵活的安全控制中获益。

SQL Server 2005 也包括了许多新的和改进的功能来帮助 IT 工作人员更有效率地工作。

SQL Server 2005 包含几个在企业数据管理中关键的增强:易管理性SQL Server 2005 使部署、管理和优化企业数据以及分析应用程序变得更简单、更容易。

作为一个企业数据管理平台,它提供单 一管理控制台,使数据管理员能够在任何地方监视、管理和调谐企业中所有的数据库和相关的服务。

它还提供了一个可以使用 SQL 管理对象轻松编程的可扩展 的管理基础结构,使得用户可以定制和扩展他们的管理环境,同时使独立软件供应商 (ISV) 也能够创建附加的工具和功能来更好地扩展打开即得的能力。

SQL Server Management StudioSQL Server 2005 通 过提供一个集成的管理控制台来监视和管理 SQL Server 关系数据库、Integration Services、 Analysis Services、Reporting Services、Notification Services 以及在数量众多的分布式服务 器和数据库上的 SQL Server Mobile Edition,从而简化了管理工作。

数据库管理员能够同时执行多个任务,例如,编写和执行查询, 查看服务器对象,管理对象,监视系统活动和查看联机帮助。

SQL Server Management Studio 提供了一个开发环境,可在其中使 用 Transact-SQL、多维表达式、XML for Analysis 和 SQL Server Mobile Edition 来编写、编辑 和管理脚本和存储过程。

Management Studio 可以很容易地与源代码控制集成在一起。

Management Studio 还包括一些工具 可用来调度 SQL Server 代理作业和管理维护计划,以自动执行日常维护和操作任务。

管理和脚本编写集成在单一工具中,同时,该工具具有管理所有 类型的服务器的能力,为数据库管理员们提供了更强的生产效率。

SQL Server 2005 开放了 70 多个新的内部数据库性能和 资源使用的度量值,涵盖了从内存、锁定到对事务、网络和磁盘 I/O 的调度等。

这些动态管理视图 (DMV) 提供了对数据库和强大的基础结构的更大的 透明度和可见性,可以主动监视数据库的状况和性能。

SQL 管理对象SQL 管理对象 (SMO) 是一个新的可编程对象集,它 可实现所有 SQL Server 数据库的管理功能。

事实上,Management Studio 就是构建在 SQL 管理对象之上的。

SMO 是作 为 Microsoft Framework 程序集实现的。

您可以使用 SMO 自动执行常见的 SQL Server 管理任务,例如,用 编程方式检索配置设置,创建新数据库,应用 Transact-SQL 脚本,创建 SQL Server 代理作业以及调度备份等。

SMO 对象模型替 代了包含在 SQL Server 早期版本中的分布式管理对象 (DMO),因为它更安全可靠并具有更高的可伸缩性。

可用性在 高可用性技术、额外的备份和恢复功能,以及复制增强上的投资使企业能够构建和部署高可用的应用程序。

在高可用性上的创新有:数据库镜像、故障转移群集、数 据库快照和增强的联机操作,这有助于最小化停机时间,并确保可以访问关键的企业系统。

本节将详细介绍这些增强特性。

数据库镜像数 据库镜像允许事务日志以连续的方式从源服务器传递到单台目标服务器上。

当主系统出现故障时,应用程序可以立即重新连接到辅助服务器上的数据库。

辅助实例几 秒钟内即可检测到主服务器发生了故障,并能立即接受数据库连接。

数据库镜像工作在标

Microsoft.NETFramework的作用

Framework Framework 概述请参见 使用 Framework 编程 | 快速入门 | 示例 | 教程 Framework 是一种新的计算平台,它简化了在高度分布式 Internet 环境中的应用程序开发。

Framework 旨在实现下列目标: 提供一个一致的面向对象的编程环境,而无论对象代码是在本地存储和执行,还是在本地执行但在 Internet 上分布,或者是在远程执行的。

提供一个将软件部署和版本控制冲突最小化的代码执行环境。

提供一个保证代码(包括由未知的或不完全受信任的第三方创建的代码)安全执行的代码执行环境。

提供一个可消除脚本环境或解释环境的性能问题的代码执行环境。

使开发人员的经验在面对类型大不相同的应用程序(如基于 Windows 的应用程序和基于 Web 的应用程序)时保持一致。

按照工业标准生成所有通信,以确保基于 Framework 的代码可与任何其他代码集成。

Framework 具有两个主要组件:公共语言运行库和 Framework 类库。

公共语言运行库是 Framework 的基础。

您可以将运行库看作一个在执行时管理代码的代理,它提供核心服务(如内存管理、线程管理和远程处理),而且还强制实施严格的类型安全以及可确保安全性和可靠性的其他形式的代码准确性。

事实上,代码管理的概念是运行库的基本原则。

以运行库为目标的代码称为托管代码,而不以运行库为目标的代码称为非托管代码。

Framework 的另一个主要组件是类库,它是一个综合性的面向对象的可重用类型集合,您可以使用它开发多种应用程序,这些应用程序包括传统的命令行或图形用户界面 (GUI) 应用程序,也包括基于 所提供的最新创新的应用程序(如 Web 窗体和 XML Web services)。

Framework 可由非托管组件承载,这些组件将公共语言运行库加载到它们的进程中并启动托管代码的执行,从而创建一个可以同时利用托管和非托管功能的软件环境。

Framework 不但提供若干个运行库宿主,而且还支持第三方运行库宿主的开发。

例如, 承载运行库以为托管代码提供可伸缩的服务器端环境。

直接使用运行库以启用 应用程序和 XML Web services(本主题稍后将对这两者进行讨论)。

Internet Explorer 是承载运行库(以 MIME 类型扩展的形式)的非托管应用程序的一个示例。

使用 Internet Explorer 承载运行库使您能够在 HTML 文档中嵌入托管组件或 Windows 窗体控件。

以这种方式承载运行库使得托管移动代码(类似于 Microsoft? ActiveX? 控件)成为可能,但是它具有只有托管代码才能提供的重大改进(如不完全受信任的执行和安全的独立文件存储)。

下面的插图显示公共语言运行库和类库与应用程序之间以及与整个系统之间的关系。

该插图还显示托管代码如何在更大的结构内运行。

Framework 环境 下面的章节将更加详细地描述 Framework 的主要组件和功能。

公共语言运行库的功能 公共语言运行库管理内存、线程执行、代码执行、代码安全验证、编译以及其他系统服务。

这些功能是在公共语言运行库上运行的托管代码所固有的。

至于安全性,取决于包括托管组件的来源(如 Internet、企业网络或本地计算机)在内的一些因素,托管组件被赋予不同程度的信任。

这意味着即使用在同一活动应用程序中,托管组件既可能能够执行文件访问操作、注册表访问操作或其他须小心使用的功能,也可能不能够执行这些功能。

运行库强制实施代码访问安全。

例如,用户可以相信嵌入在 Web 页中的可执行文件能够在屏幕上播放动画或唱歌,但不能访问他们的个人数据、文件系统或网络。

这样,运行库的安全性功能就使通过 Internet 部署的合法软件能够具有特别丰富的功能。

运行库还通过实现称为通用类型系统 (CTS) 的严格类型验证和代码验证基础结构来加强代码可靠性。

CTS 确保所有托管代码都是可以自我描述的。

各种 Microsoft 和第三方语言编译器生成符合 CTS 的托管代码。

这意味着托管代码可在严格实施类型保真和类型安全的同时使用其他托管类型和实例。

此外,运行库的托管环境还消除了许多常见的软件问题。

例如,运行库自动处理对象布局并管理对对象的引用,在不再使用它们时将它们释放。

这种自动内存管理解决了两个最常见的应用程序错误:内存泄漏和无效内存引用。

运行库还提高了开发人员的工作效率。

例如,程序员可以用他们选择的开发语言编写应用程序,却仍能充分利用其他开发人员用其他语言编写的运行库、类库和组件。

任何选择以运行库为目标的编译器供应商都可以这样做。

以 Framework 为目标的语言编译器使得用该语言编写的现有代码可以使用 Framework 的功能,这大大减轻了现有应用程序的迁移过程的工作负担。

尽管运行库是为未来的软件设计的,但是它也支持现在和以前的软件。

托管和非托管代码之间的互操作性使开发人员能够继续使用所需的 COM 组件和 DLL。

运行库旨在增强性能。

尽管公共语言运行库提供许多标准运行库服务,但是它从不解释托管代码。

一种称为实时 (JIT) 编译的功能使所有托管代码能够以它在其上执行的系统的本机语言运行。

同时,内存管理器排除了出现零碎内存的可能性,并增大了内存引用区域以进一步提高性能。

最后,运行库可由高性能的服务器端应用程序(如 Microsoft? SQL Server? 和 Internet 信息服务 (IIS))承载。

此基础结构使您在享受支持运行库宿主的行业最佳企业服务器的优越性能的同时,能够使用托管代码编写业务逻辑。

Framework 类库 Framework 类库是一个与公共语言运行库紧密集成的可重用的类型集合。

该类库是面向对象的,并提供您自己的托管代码可从中导出功能的类型。

这不但使 Framework 类型易于使用,而且还减少了学习 Framework 的新功能所需要的时间。

此外,第三方组件可与 Framework 中的类无缝集成。

例如, Framework 集合类实现一组可用于开发您自己的集合类的接口。

您的集合类将与 Framework 中的类无缝地混合。

正如您对面向对象的类库所希望的那样, Framework 类型使您能够完成一系列常见编程任务(包括诸如字符串管理、数据收集、数据库连接以及文件访问等任务)。

除这些常见任务之外,类库还包括支持多种专用开发方案的类型。

例如,可使用 Framework 开发下列类型的应用程序和服务: 控制台应用程序。

Windows GUI 应用程序(Windows 窗体)。

应用程序。

XML Web services。

Windows 服务。

例如,Windows 窗体类是一组综合性的可重用的类型,它们大大简化了 Windows GUI 的开发。

如果要编写 Web 窗体应用程序,可使用 Web 窗体类。

客户端应用程序开发 客户端应用程序在基于 Windows 的编程中最接近于传统风格的应用程序。

这些是在桌面上显示窗口或窗体从而使用户能够执行任务的应用程序类型。

客户端应用程序包括诸如字处理程序和电子表格等应用程序,还包括自定义的业务应用程序(如数据输入工具、报告工具等等)。

客户端应用程序通常使用窗口、菜单、按钮和其他 GUI 元素,并且它们可能访问本地资源(如文件系统)和外围设备(如打印机)。

另一种客户端应用程序是作为 Web 页通过 Internet 部署的传统 ActiveX 控件(现在被托管 Windows 窗体控件所替代)。

此应用程序非常类似于其他客户端应用程序:它在本机执行,可以访问本地资源,并包含图形元素。

过去,开发人员将 C/C++ 与 Microsoft 基础类 (MFC) 或应用程序快速开发 (RAD) 环境(如 Microsoft? Visual Basic?)一起使用来创建这样的应用程序。

Framework 将这些现有产品的特点合并到了单个且一致的开发环境中,该环境大大简化了客户端应用程序的开发。

包含在 Framework 中的 Windows 窗体类旨在用于 GUI 开发。

您可以轻松创建具有适应多变的商业需求所需的灵活性的命令窗口、按钮、菜单、工具栏和其他屏幕元素。

例如, Framework 提供简单的属性以调整与窗体相关联的可视属性。

某些情况下,基础操作系统不支持直接更改这些属性,而在这些情况下, Framework 将自动重新创建窗体。

这是 Framework 集成开发人员接口从而使编码更简单更一致的许多方法之一。

和 ActiveX 控件不同,Windows 窗体控件具有对用户计算机的不完全受信任的访问权限。

这意味着二进制代码或在本机执行的代码可访问用户系统上的某些资源,例如 GUI 元素和访问受限制的文件,但这些代码不能访问或危害其他资源。

由于具有代码访问安全性,许多曾经需要安装在用户系统上的应用程序现在可以通过 Web 安全地部署。

您的应用程序可以在像 Web 页那样部署时实现本地应用程序的功能。

服务器应用程序开发 在托管领域中,服务器端应用程序是通过运行库宿主实现的。

非托管应用程序承载公共语言运行库,后者使您的自定义托管代码可以控制服务器的行为。

此模型在获得主服务器的性能和可伸缩性的同时提供给您公共语言运行库和类库的所有功能。

下面的插图显示在不同服务器环境中运行托管代码的基本网络架构。

在应用程序逻辑通过托管代码执行时,服务器(如 IIS 和 SQL Server)可执行标准操作。

服务器端托管代码 是使开发人员能够使用 Framework 开发基于 Web 的应用程序的宿主环境。

但是, 不止是一个运行库宿主;它是使用托管代码开发 Web 站点和通过 Internet 分布的对象的完整结构。

Web 窗体和 XML Web services 都将 IIS 和 用作应用程序的发布机制,并且两者在 Framework 中都具有支持类集合。

XML Web services 作为基于 Web 的技术的重要发展,是类似于常见 Web 站点的分布式服务器端应用程序组件。

但是,与基于 Web 的应用程序不同,XML Web services 组件不具有 UI 并且不以浏览器(如 Internet Explorer 和 Netscape Navigator)为目标。

XML Web services 由旨在供其他应用程序使用的可重用的软件组件组成,所谓的其他应用程序包括:传统的客户端应用程序,基于 Web 的应用程序,甚至是其他 XML Web services。

因此,XML Web services 技术正迅速地将应用程序开发和部署推向高度分布式 Internet 环境。

如果您使用过 ASP 技术的早期版本,很快就会注意到 和 Web 窗体提供的改进。

例如,您可以用支持 Framework 的任何语言开发 Web 窗体页。

此外,您的代码不再需要与 HTTP 文本共享同一个文件(尽管如果您愿意,代码还可以继续这样做)。

Web 窗体页用本机语言执行,这是因为与所有其他托管应用程序一样,它们充分利用运行库。

与此相对照,非托管 ASP 页始终被写成脚本并解释。

页比非托管 ASP 页更快、更实用并且更易于开发,这是因为它们像所有托管应用程序一样与运行库进行交互。

Framework 还提供类和工具的集合来帮助开发和使用 XML Web services 应用程序。

XML Web services 是基于 SOAP(一种远程过程调用协议)、XML(一种可扩展的数据格式)和 WSDL(Web 服务描述语言)这些标准生成的。

基于这些标准生成 Framework 的目的是为了提高与非 Microsoft 解决方案的互操作性。

例如, Framework SDK 所包含的 Web 服务描述语言工具可以查询在 Web 上发布的 XML Web services,分析它的 WSDL 描述,并产生 C# 或 Visual Basic 源代码,您的应用程序可以使用这些代码而成为 XML Web services 的客户端。

这些源代码可以创建从类库中的类派生的类,这些类使用 SOAP 和 XML 分析处理所有基础通信。

虽然您可以使用类库来直接使用 XML Web services,Web 服务描述语言工具和包含在 SDK 中的其他工具可以使您更加方便地用 Framework 进行开发。

如果您开发和发布自己的 XML Web services, Framework 为您提供了一组符合所有基础通信标准(如 SOAP、WSDL 和 XML)的类。

使用这些类使您能够将注意力集中在服务的逻辑上,而无需关注分布式软件开发所需要的通信基础结构。

最后,与托管环境中的 Web 窗体页相似,您的 XML Web services 将使用 IIS 的可伸缩通信以本机语言的速度运行。

ASP.net的三层架构

为何使用N层架构? 因为每一层都可以在仅仅更改很少量的代码后,就能放到物理上不同的服务器上使用,因此结构灵活而且性能更佳。

此外,每层做些什么其它层是完全看不到的,因此更改、更新某层,都不再需要重新编译或者更改全部的层了。

这是个很强大的功能。

例如,如果把数据访问代码与业务逻辑层分离,当数据库服务器更改后,你只需要更改数据访问的代码,因为业务逻辑层是不变的,因此不需要更改或者重新编译业务逻辑层。

一个N层的应用程序通常有三层:表现层、业务层和数据层。

下面让我们看看每层都做些什么。

表现层(Presentation Layer) 表现层用于用户接口的展示,以及用业务层的类和对象来“驱动”这些接口。

在中,该层包括aspx页面、用户控制、服务器控制以及某些与安全相关的类和对象。

业务层(Business Tier) 业务层用于访问数据层,从数据层取数据、修改数据以及删除数据,并将结果返回给表现层。

在中,该层包括使用SqlClient或OleDb从SQL Server或Access数据库取数据、更新数据及删除数据,并把取得的数据放到DataReader或DataSet中返回给表现层。

返回的数据也许只有一个整型数字,比如一个表的行记录数目,但这也要用数据层的数据进行计算。

BLL和DAL 通常该层被划分成两个子层:业务逻辑层(Business Logic Layer,BLL)和数据访问层(Data Access Layers,DAL)。

业务逻辑层在数据访问层之上,也就是说BLL调用DAL的类和对象。

DAL访问数据并将其转给BLL。

在中,该层可以用SqlClient或OleDb从SQL Server或Access数据库取数据,把数据通过DataSet 或DataReader的形式给BLL,BLL处理数据给表现层。

有的时候,例如直接把DataSet 或DataReader送给表现层的时候,BLL是一个透明层。

数据层(Data Tier) 数据层是数据库或者数据源。

在中,通常它是一个SQL Server或Access数据库,但不仅限于此两种形式,它还可能是Oracle,mySQL,甚至是XML。

逻辑层VS(分布式)物理层 人们容易将这两个概念搞混。

我们说逻辑层是把层按类的集合来划分,而这些层都在同一台个服务器上。

(分布式)物理层是指类的集合在不同的服务器上,用附加的代码来处理层间的通信,比如remoting和web服务。

决定如何划分你的层(是物理的还是不是物理的)是非常重要的。

在划分时应考虑下面因素: 1、注意如果划分成物理层,你的应用程序的速度会因为不同服务器在网络中通信的延迟而减慢。

所以,如果你决定用物理层,请确保获得性能的提升大于性能的降低。

2、按照n层架构设计你的应用程序。

3、部署以及维护物理分布式的应用程序的成本是很高的。

你首先需要不止一台服务器,你还需要网络硬件来连接这些服务器。

在这种情况下,部署应用变得更加复杂!因此这样做之前请确定这样做是否值得。

另外还要注意,你的应用程序的每层都做何使用。

你也许因为运行的多个服务都需要某一层而把该层放到别台服务器上。

例如,你也许会因为给不同的用户定制不同的表现层,而将业务逻辑层放于别处;你也许会因为还有其它的应用访问同一个数据库,而把SQL server服务放到别处

高防国内云服务器,国内高防物理机独立服务器就找虎跃云-www.huyuekj.com

赞(0)
未经允许不得转载:优乐评测网 » 洞悉应用在不同服务器上的部署与性能差异

优乐评测网 找服务器 更专业 更方便 更快捷!

专注IDC行业资源共享发布,给大家带来方便快捷的资源查找平台!

联系我们