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

探究服务器存储空间需求的影响因素与合理设置方案 (探究服务器存在的问题)

探究服务器存储空间需求的影响因素与合理设置方案

一、引言

随着信息技术的快速发展,服务器作为数据处理和存储的核心设备,其存储空间的需求日益增长。

服务器存储空间的合理配置对于企业的业务运营、个人用户的数据存储以及云计算、大数据等技术的发展都具有重要意义。

本文将深入探究服务器存储空间需求的影响因素,并提出合理的设置方案,以期为解决服务器存储空间问题提供参考。

二、服务器存储空间需求的影响因素

1. 数据量的增长

随着企业业务的扩张和互联网应用的普及,服务器需要处理的数据量急剧增长。

例如,企业日常运营中的数据记录、用户行为数据、交易数据等,都需要大量的存储空间。

随着云计算、大数据等技术的发展,越来越多的数据需要存储在服务器上,以供分析和挖掘。

2. 应用程序的多样性

不同的应用程序对存储空间的需求不同。

例如,视频流媒体服务需要大量的存储空间来保存视频文件,而社交媒体平台则需要存储大量的用户照片、视频和文本信息。

随着应用程序的多样化发展,服务器存储空间需求也呈现出多样化趋势。

3. 数据备份与恢复需求

为了保证数据的可靠性和安全性,企业需要定期备份数据。

同时,在面临硬件故障、系统升级等情况下,需要保留历史数据以便恢复。

这些备份和恢复需求都会增加服务器存储空间的需求。

4. 法规与政策要求

在某些行业,如金融、医疗等,法规和政策要求企业保留一定时间内的数据。

这些法规和政策要求也是影响服务器存储空间需求的重要因素。

三、合理设置服务器存储空间的方案

1. 分析业务需求

在设置服务器存储空间时,首先要分析业务需求。

了解企业需要处理的数据量、数据类型以及数据增长趋势,从而确定合理的存储空间需求。

2. 选择合适的存储技术

根据业务需求,选择合适的存储技术。

目前,常见的存储技术包括直接附加存储(DAS)、网络附加存储(NAS)、存储区域网络(SAN)等。

不同的存储技术具有不同的特点和优势,企业可以根据自身需求进行选择。

3. 实施分层存储策略

根据数据的重要性和访问频率,实施分层存储策略。

对于重要且频繁访问的数据,存储在高性能的存储设备上;对于较少访问的数据,可以存储在成本较低的存储设备上。

这样可以提高存储效率,降低存储成本。

4. 定期清理和优化数据

定期清理和优化数据是保持服务器存储空间的重要措施。

通过删除无用数据、压缩数据、归档旧数据等方式,可以释放大量存储空间。

同时,定期对数据库进行优化,提高数据存储和访问效率。

5. 建立灾难恢复机制

为了应对硬件故障、系统升级等可能导致的数据丢失问题,企业应建立灾难恢复机制。

通过定期备份数据、建立容灾副本等方式,确保数据的可靠性和安全性。

四、总结

服务器存储空间的需求受到多种因素的影响,如数据量增长、应用程序多样性、数据备份与恢复需求以及法规与政策要求等。

为了合理配置服务器存储空间,企业应采取分析业务需求、选择合适的存储技术、实施分层存储策略、定期清理和优化数据以及建立灾难恢复机制等措施。

这些措施可以帮助企业提高数据存储效率,降低存储成本,并确保数据的可靠性和安全性。

在未来的发展中,随着技术的不断进步和需求的不断变化,我们应持续关注服务器存储空间的需求变化,并采取相应的措施来满足这些需求。


Intel 至强E5 2670只支持服务器内存吗?

e5即可以支持rdimm ecc,也支持udimm ecc,也支持我们平常用的普通内存。

寻求SQL数据库的有关论文

ORACLE中SQL查询优化研究摘 要 数据库性能问题一直是决策者及技术人员共同关注的焦点,影响数据库性能的一个重要因素就是SQL查询语句的低效率。

论文首先分析了导致SQL查询语句性能低下的四个常见原因以及SQL调优的一般步骤,然后分别针对如何降低I/O操作、在查询语句中如何避免对查询结果的高成本操作以及在多表连接时如何提高查询效率进行了分析。

关键词 ORACLE;SQL;优化;连接1 引言 随着网络应用不断发展,系统性能已越来越引起决策者的重视。

影响系统性能的因素很多,低效的SQL语句就是其中一个不可忽视的重要原因。

论文首先分析导致SQL性能低下的常见原因,然后分析SQL调优应遵循的一般步骤,最后从如何降低I/O、避免对查询结果的高成本操作和多表连接中如何提高SQL性能进行了研究。

鉴于目前ORACLE在数据库市场上的主导地位,论文将只针对ORACLE进行讨论。

2 影响SQL性能的原因 影响SQL性能的因素很多,如初始化参数设置不合理、导入了不准确的系统及模式统计数据从而影响优化程序(CBO)的正确判断等,这些往往和DBA密切相关。

纯粹从SQL语句出发,笔者认为影响SQL性能不外乎以下四个重要原因: (1)在大记录集上进行高成本操作,如使用了引起排序的谓词等。

(2)过多的I/O操作(含物理I/O与逻辑I/O),最典型的就是未建立恰当的索引,导致对查询表进行全表扫描。

(3)处理了太多的无用记录,如在多表连接时过滤条件位置不当导致中间结果集包含了太多的无用记录。

(4)未充分利用数据库提供的功能,如查询的并行化处理等。

第(4)个原因处理起来相对简单。

论文将针对前三个原因论述如何提高SQL查询语句的性能。

3 SQL优化的一般步骤 SQL优化一般需经过发现问题、分析问题、提出解决措施、应用措施、测试性能几个步骤,如图1所示。

“发现问题就是解决问题的一半”,因此在SQL调优过程中,定位问题SQL是非常重要的一步,一般可借助于ORACLE自带的性能优化工具如STATSPACK、TKPROF、AUTOTRACE等辅助用户进行,同时还应该重视动态性能视图如V$SQL、V$MYSTAT、V$SYSSTAT等的研究。

图1 SQL优化的一般步骤 4 SQL语句的优化 4.1 优化排序操作 排序的成本十分高昂,当在查询语句中使用了引起结果集排序的谓词时,SQL性能必然受到影响。

4.1.1 排序过程分析 当待排序数据集不是太大时,服务器在内存(排序区)完成排序操作,如果排序需要更多的内存空间,服务器将进行如下处理: (1) 将数据分成多个小的集合,对每一集合进行排序。

(2) 服务器向磁盘申请临时空间,将排好序的中间结果写入临时段,再对另外的集合进行排序。

(3) 在所有的集合均排好序后,服务器再将它们进行合并得到最终的结果,如果排序区尺寸太小,合并无法一次完成时,将分多次进行。

从上述分析可知,排序是一种十分昂贵的操作,它消耗大量的CPU时间和内存,触发磁盘分页和交换操作,因此只要有可能,我们就应该在SQL语句中尽量避免排序操作。

4.1.2 SQL中引起排序的操作 SQL查询语句中引起排序的操作大致有:ORDER BY 和GROUP BY 从句;DISTINCT修饰符;UNION、INTERSECT、MINUS集合操作符;多表连接时的排序合并连接(SORT MERGE JOIN)等。

4.1.3 如何避免排序 1)建立恰当的索引 对经常进行排序和连接操作的字段建立索引。

在建立索引后,当服务器向这些字段发出排序请求时,将直接引用索引而不进行排序操作;当进行等值连接查询操作时,若建立连接的字段未建立索引,服务器进行的是排序合并连接(SORT MERGE JOIN),连接操作的过程如下: 对进行连接的两个或多个表分别进行全扫描; 对每一个表中的行集分别进行全排序; 合并排序结果。

如果建立连接的字段已建立索引,服务器进行嵌套循环连接(NESTED LOOP JOINS),该连接方式不需要任何排序,其过程如下: 对驱动表进行全表扫描; 对返回的每一行利用连接字段值实施索引惟一扫描; 利用从索引扫描中返回的ROWID值在从表中定位记录; 合并主、从表中的匹配记录。

因此,建立索引可避免多数排序操作。

2)用UNIION ALL替换UNION UNION在进行表链接后会筛选掉重复的记录,所以在表链接后会对所产生的结果集进行排序运算,删除重复的记录再返回结果。

大部分应用中是不会产生重复记录的,最常见的是过程表与历史表UNION 。

因此,采用UNION ALL操作符替代UNION,因为UNION ALL操作只是简单的将两个结果合并后就返回。

4.2 优化I/O 过多的I/O操作会占用CPU时间、消耗大量内存和占用过多的栓锁,因此有必要对SQL的I/O进行优化。

优化I/O的最有效方式就是用索引扫描代替全表扫描。

4.2.1 应用基于函数的索引 基于函数的索引(FUNCTION BASED INDEX,简记为FBI)提供了索引计算列并在查询中使用这些索引的能力。

FBI的实质是对查询所需中间结果进行预处理。

如果一个FBI与查询语句中的内嵌函数完全匹配,CBO在生成查询计划时,将自动启用索引范围扫描(INDEX RANGE SCAN)替换全表扫描(FULL TABLE SCAN)。

考察下面的代码段并用AUTOTRACE观察创建FBI前后执行计划的变化。

select * from emp where upper(ename)=’SCOTT’ 创建FBI前,很明显是全表扫描。

Execution Plan …… 1 0 TABLE ACCESS (FULL) OF EMPLOYEES (Cost=2 Card=1 Bytes=22) idle>CREATE INDEX EMP_UPPER_FIRST_NAME ON EMPLOYEES(UPPER(FIRST_NAME)); 索引已创建。

再次运行相同查询, Execution Plan …… 1 0 TABLE ACCESS (BY INDEX ROWID) OF EMPLOYEES (Cost=1 Card=1 Bytes=22) 2 1 INDEX (RANGE SCAN) OF EMP_UPPER_FIRST_NAME (NON-UNIQUE) (Cost=1 Card=1) 这一简单的例子充分说明了FBI在SQL查询优化中的作用。

FBI所用的函数可以是用户自己创建的函数,该函数越复杂,基于该函数创建FBI对SQL查询性能的优化作用越明显。

4.2.2 应用物化视图和查询重写 物化视图是一个预计算结果集,其中通常包含聚集与多表连接等复杂操作。

数据库自动维护物化视图,且随用户的要求进行刷新。

查询重写机制就是用数据库中的替代对象(如物化视图)将用户提交的查询重写为完全不同但功能等价的查询。

查询重写对用户透明,用户完全按常规编写访问数据库的查询语句,优化程序(CBO)自动决定是否对用户提交的查询进行重写。

查询重写是提高查询性能的一种非常有效的方法,尤其是在数据仓库环境中针对汇总、多表连接以及其它高成本的操作方面。

下面以一个非常简单的例子来演示物化视图和查询重写在优化SQL查询性能方面的作用。

select ,,count(*) from emp,dept where = group by , 查询计划及主要统计数据如下: 执行计划: —————————————– …… 2 1 HASH JOIN (Cost=5 Card=14 Bytes=224) 3 2 TABLE ACCESS (FULL) OF DEPT (Cost=2 Card=4 Bytes=52) 4 2 TABLE ACCESS (FULL) OF EMP (Cost=2 Card=14 Bytes=42) 主要统计数据: —————————————– 305 recursive calls 46 consistent gets 创建物化视图EMP_DEPT: create materialized view emp_dept build immediate refresh on demand enable query rewrite as select ,,count(*) from emp,dept where = group by , / 再次执行查询,执行计划及主要统计数据如下: 执行计划: ————————————- …… 1 0 TABLE ACCESS (FULL) OF EMP_DEPT (Cost=2 Card=327 Bytes=) 主要统计数据: ———————————— 79 recursive calls 28 consistent gets 可见,在建立物化视图之前,首先执行两个表的全表扫描,然后进行HASH连接,再进行分组排序和选择操作;而建立物化视图后,CBO自动将上述复杂操作转换为对物化视图EMP_DEPT的全扫描,相关的统计数据也有了很大的改善,递归调用(RECURSIVE CALLS)由305降到79,逻辑I/O(CONSISTENT GETS)由46降为28。

4.2.3 将频繁访问的小表读入CACHE 逻辑I/O总是快于物理I/O。

如果数据库中存在被应用程序频繁访问的小表,可将这些表强行读入KEEP池,从而避免物理I/O的发生。

4.3 多表连接优化 最能体现查询复杂性的就是多表连接,多表连接操作往往要耗费大量的CPU时间和内存,因此多表连接查询性能优化往往是SQL优化的重点与难点。

4.3.1 消除外部连接 通过消除外部连接,不仅使得到的查询更易于读取,而且性能也经常可以得到改善。

一般的思路是,有以下形式的查询: SELECT …,OUTER_JOINED_ FROM SOME_TABLE,OUTER_JOINED_TO_TABLE WHERE …=OUTER_JOINED_TO_TABLE(+) 可转换为如下形式的查询: SELECT …,(SELECT COLUMN FROM OUTER_ JOINED_TO_TABLE WHERE …)FROM SOME_TABLE; 4.3.2 谓词前推,优化中间结果 多表连接的性能低下多数是因为连接操作与过滤操作的次序不合理,大多数用户在编写多表连接查询时,总是先进行连接操作再应用过滤条件,这导致服务器做了太多的无用功。

针对这类问题,其优化思路就是尽可能将过滤谓词前推,使不符合条件的记录提前被筛选掉,只对符合条件的少数记录进行连接处理,这样可成倍的提高SQL查询效能。

标准连接查询如下: Select _name,sum(_quant), sum(_quant),sum(_quant) From product a,tele_sale b,online_sale c,store_sale d Where _id=_id and _id=_id and _id=_id And _date>sysdate-90 Group by _id; 启用内嵌视图,且将条件_date>sysdate-90前移,优化后代码如下: Select _name,_sale_sum,_sale_sum,_sale_sum From product a, (select sum(sal_quant) tele_sale_sum from product,tele_sale Where _date>sysdate-90 and _id =tele__id) b, (select sum(sal_quant) online_sale_sum from product,tele_sale Where _date>sysdate-90 and _id =online__id) c, (select sum(sal_quant) store_sale_sum from product,store_sale Where _date>sysdate-90 and _id =store__id) d, Where _id=_id and _id=_id and _id=_id; 5 结束语 SQL语言在数据库应用中占有非常重要的地位,其性能的优劣直接影响着整个信息系统的可用性。

论文从影响SQL性能的最主要的三个方面入手,分析了如何优化SQL查询的I/O、避免高成本的排序操作和优化多表连接。

需要强调的一点是,理解SQL语句所解决的问题比SQL调优本身更重要,因此SQL调优需要系统分析人员、开发人员和数据库管理员密切协作。

参考文献 [1]Thomas Oracle by Design:Design and Build High-performance Oracle Application[M],The McGral- Hill Companies,Inc,2003 [2]Kevin Loney,George Koch,Oracle 9i:The Complete Reference[M],The McGral-Hill Companies,Inc,2002 [3] Oracle9i SQL Reference release 2(9.2)[OL/M],2002.10. http:///technology/ [4] Oracle9i Data Warehousing Guide release 2(9.2) [OL/M],2002.03. http:///technology/ [5]Alexey Danchenkov,Donald Burleson,Oracle Tuning:The Definitive Reference[OL/M],Rampant Techpress,2006. [6] Oracle9i Database Concepts release 2(9.2) [OL/M],2002.08. http:///technology/ [7] Oracle9i supplied plsql packages and types reference release 2(9.2) [OL/M],2002.12. http:/// technology/

虚拟内存一般是根据什么调整的?

虚拟内存的概念是相对于物理内存而言的,当系统的物理内存空间入不敷出时,操作系统便会在硬盘上开辟一块磁盘空间当做内存使用,这部分硬盘空间就叫虚拟内存。

Windows 98中采用文件的形式,而Windows 2000/XP则采用页面文件的形式来管理虚拟内存。

一、大小情况 1.一般情况 一般情况下,建议让Windows来自动分配管理虚拟内存,它能根据实际内存的使用情况,动态调整虚拟内存的大小。

2.关于最小值 Windows建议页面文件的最小值应该为当前系统物理内存容量再加上12MB,而对于物理内存容量小于256MB的用户,则建议将页面文件的最小值设得更大些: ①使用128MB或者更少内存的用户,建议将当前物理内存容量的1.75倍设置为页面文件的最小值。

②内存大小在128MB到256MB之间的用户,建议将当前物理内存容量的1.5倍设置为页面文件的最小值。

3.关于最大值 一般来说,页面文件的最大值设置得越大越好,建议设置为最小值的2到3倍。

4.极端情况 假如硬盘空间比较紧张,在设置页面文件时,只需保证它不小于物理内存的3/4即可。

如果物理内存很大(大于512MB),则可以将虚拟内存禁用。

(上海 任亚维) 5.根据不同的任务环境设置 ①以3D游戏为主的环境 3D游戏对CPU、显卡和内存要求都很高,如果物理内存小于256MB,建议把虚拟内存预设得大一点,这对提高游戏的稳定性和流畅性很有帮助。

②以播放视频为主的环境 视频应用对硬盘空间的“胃口”很大,不过千万不要像在3D游戏环境中一样把虚拟内存设得很大,尤其是Windows XP的用户。

因为Windows XP不会自动把不需要的空间释放掉,也就是说那个文件会越来越大。

如果你把虚拟内存和Windows XP放在同一分区,播放RM、ASF等视频流文件以后,系统经常会提示你虚拟内存设得太小或是磁盘空间不足。

查看此时的页面文件,已经足有1GB大小了。

所以建议经常欣赏视频文件的Windows XP用户,把初始数值设小一点,或者将虚拟内存转移到系统盘以外的分区。

二、设置方法 下面以在Windows XP下转移虚拟内存所在盘符为例介绍虚拟内存的设置方法:进入“打开→控制面板→系统”,选择“高级”选项卡,点击“性能”栏中的“设置”按钮,选择“高级”选项卡,点击“虚拟内存”栏内的“更改”按钮,即可进入“虚拟内存”窗口;在驱动器列表中选中系统盘符,然后勾选“无分页文件”选项,再单击“设置”按钮;接着点击其他分区,选择“自定义大小”选项,在“初始大小”和“最大值”中设定数值,然后单击“设置”按钮,最后点击“确定”按钮退出即可。

赞(0)
未经允许不得转载:优乐评测网 » 探究服务器存储空间需求的影响因素与合理设置方案 (探究服务器存在的问题)

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

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

联系我们