
随着服务器硬件的功能变得越来越强大,而价格一路急剧下跌,许多公司(尤其是小公司)发现如今购买服务器面临众多选择 内存。这意味着,经验相对欠缺的管理员们也要能够设计功能越来越强大的系统。为大型系统设计系统时,能够买到有许多硬盘和充足内存的大型服务器。以下是在设计系统时应当遵守的一些基本原则 内存。

•存储系统

由于磁盘碎片整理的工作机制是重新将存储在磁盘中的文件按照一定的顺序重新读写一遍并整理,这对于把擦写次数视为生命的固态硬盘而言,无异于自取灭亡。阵列的磁盘上既有数据,也有数据校验信息,数据块和对应的校验信息会存储于不同的磁盘上,当一个数据盘损坏时,系统可以根据同一带区的其他数据块和对应的校验信息来重构损坏的数据。磁盘io次数,b-树(b类树)的特定就是每层节点数目非常多,层数很少,目的就是为了就少磁盘io次数,当查询数据的时候,最好的情况就是很快找到目标索引,然后读取数据,使用b+树就能很好的完成这个目的,但是b-树的每个节点都有data域(指针),这无疑增大了节点大小,说白了增加了磁盘io次数(磁盘io一次读出的数据量大小是固定的,单个数据变大,每次读出的就少,io次数增多,一次io多耗时啊。

应当遵守的一条基本原则就是,写操作频繁的最好使用RAID 10阵列,而读操作频繁的通常最好使用RAID 5阵列。原因在于,如果把数据写到RAID 5阵列,性能会受到影响。由于把数据写到RAID 5阵列上,存储系统必须在写数据之前计算出奇偶检验位,而算出奇偶检验位需要相当长的时间,这意味着写到RAID 5阵列上的性能会降低。

innodb_log_buffer_size:指定innodb用来存储日志数据的缓存大小,如果您的表操作中包含大量并发事务(或事务),并且在事务提交前要求记录日志文件,请尽量调高此项值,以提高日志效率。因为所有的读操作不再需要等待写锁的释放,所以能够显著地提升读的性能,mysql 和 postgresql 都对这一机制进行自己的实现,也就是 mvcc,虽然各自实现的方式有所不同,mysql 就通过文章中提到的回滚日志实现了 mvcc,保证事务并行执行时能够不等待互斥锁的释放直接获取数据。在hbae中,客户端向集群中的regionserver提交数据时(put/delete操作),首先会先写wal(write ahead log)日志(即hlog,一个regionserver上的所有region共享一个hlog),只有当wal日志写成功后,再接着写 memstore,然后客户端被通知提交数据成功。
ssd装系统要注意开启ahci和4k对齐,ahci一般如果没有动过,默认是开的,4k对齐可以用软件分区,由于我的镜像默认带了winpe 3.0,里面有win7磁盘管理工具,用那个分一下就行了,默认就是对齐的,直接装系统也行,但是会产生100m隐藏分区。提示是否应用更改,选择是.然后激活下面的警告窗口选择确定点确定后,电脑会自动重起,重起过程中出现下面的图片这里显示的是pq扫描磁盘程序,扫描完毕后.会停住,这个时候按num lock灯会不闪,处于死机状态,大家不要在等,因为等半天他还是定在哪里,这个时候直接按机箱上的rest键重起即可,强行重起后,登陆系统,在打开pq运行pq后,此时在右边的硬盘分区详细资料栏中会出现新的一行,类型是未分配.选中该行,鼠标右键 选择创建(t) 请看图片点创建后将激活下面的图片创建为,因为c盘是主分区,所以我们现在创建的分区选择为逻辑分区,也就是默认的,可以按照自己所需的去选择哦.分区类型:这里有fat,fat32 ntfs linux等格式,可以按照自己所需不同去选择,这里我们选择fat32卷标:可以根据自己喜欢的设置 磁盘分区的名称,比如 kuzhuai或者软件,等都可以大小:默认的是全部的未分配容量,可以根据实际需求不同来选择,这里我将它设置为5000m因为我还想分一个分区哦呵呵。通常情况下选择创建新的分区方式,然后选择好要安装opensuse系统的磁盘,opensuse的安装引导程序会自动将磁盘分成较合适的分区方案,一般选择默认就可以。
本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/jisuanjixue/article-100419-1.html
王建煊很有观察力
中国不得已的反制之措施