加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程 > 正文

服务器性能优化的8种常用方法

发布时间:2019-07-30 20:21:30 所属栏目:编程 来源:微思网络
导读:1.行使内存数据库 内存数据库,着实就是将数据放在内存中直接操纵的数据库。相对付磁盘,内存的数据读写速率要跨越几个数目级,将数据生涯在内存中对比从磁盘上会见可以或许极大地进步应用的机能。内存数据库丢弃了磁盘数据打点的传统方法,基于所稀有据都在内

1.行使内存数据库

内存数据库,着实就是将数据放在内存中直接操纵的数据库。相对付磁盘,内存的数据读写速率要跨越几个数目级,将数据生涯在内存中对比从磁盘上会见可以或许极大地进步应用的机能。内存数据库丢弃了磁盘数据打点的传统方法,基于所稀有据都在内存中从头计划了系统布局,而且在数据缓存、快速算法、并行操纵方面也举办了响应的改造,以是数据处理赏罚速率比传统数据库的数据处理赏罚速率要快许多。

可是安详性的题目可以说是内存数据库最大的硬伤。由于内存自己有掉电丢失的自然缺陷,因此我们在行使内存数据库的时辰,凡是必要,提前对内存上的数据采纳一些掩护机制,好比备份,记录日记,热备或集群,与磁盘数据库同步等方法。对付一些重要性不高可是又想要快速相应用户哀求的部门数据可以思量内存数据库来存储,同时可以按期把数据固化到磁盘。

处事器机能优化的8种常用要领

2.行使RDD

在大数据云计较相干规模的一些应用中,Spark可以用来加速数据处理赏罚速率。Spark的焦点是RDD,RDD最早来历与Berkeley尝试室的一篇论文《Resilient Distributed Datasets: A Fault-Tolerant Abstraction for In-Memory Cluster Computing》。现有的数据流体系对两种应用的处理赏罚并不高效:一是迭代式算法,这在图应用和呆板进修规模很常见;二是交互式数据发掘器材。这两种环境下,将数据生涯在内存中可以或许极大地进步机能。

3.增进缓存

许多web应用是有大量的静态内容,这些静态内容首要都是一些小文件,而且会被频仍的读,回收Apache以及nginx作为web处事器。在web会见量不大的时辰,这两个http处事器可以说长短常的敏捷和高效,假如负载量很大的时辰,我们可以回收在前端搭建cache处事器,将处事器中的静态资源文件缓存到操纵体系内存中直接举办读操纵,由于直接从内存读取数据的速率要宏大于从硬盘读取。这个着实也是增进内存的成原来低落会见磁盘带来的时刻耗损。

4.行使SSD

除了对内存方面的优化,还可以对磁盘这边举办优化。跟传统机器硬盘对比,固态硬盘具有快速读写、质量轻、能耗低以及体积小等特点。可是ssd的价值对比传统机器硬盘要贵,有前提的可以行使ssd来取代机器硬盘。

5.优化数据库

大部门的处事器哀求最终都是要落到数据库中,跟着数据量的增进,数据库的会见速率也会越来越慢。想要晋升哀求处理赏罚速率,必必要对原本的单表进动作刀了。今朝主流的Linux处事器行使的数据库要属mysql了,假如我们行使mysql存储的数据单个表的记录到达万万级此外话,查询速率会很慢的。按照营业上吻合的法则对数据库举办分区分表,可以有用进步数据库的会见速率,晋升处事器的整体机能。其它对付营业上查询哀求,在建表的时辰可以按摄影关需求配置索引等,以进步查询速率。

6.选择吻合的IO模子

IO模子又分为:

(1).阻塞I/O模子:数据没达到之前,I/O一向阻塞,假如数据达到,则会返回。典范的是recvfrom,一样平常的默认都是阻塞的。

(2).非阻塞的I/O模子:和阻塞相反,只要不能获得功效的时辰,I/O立即返回。不会阻塞当前列程。

IO复用模子:也就是本身要进修的部门。多路复用的意思是,将多路信号归并到一起长举办处理赏罚,相同多个管道搜集到一个管道,与之相反的是多路解析。

IO复用模子首要是select,poll,epoll;对一个IO端口,两次挪用,两次返回,比阻塞IO并没有什么良好性;要害是能实现同时对多个IO端口举办监听;函数也会使历程阻塞,可是和阻塞I/O所差异的的,这两个函数可以同时阻塞多个I/O操纵。并且可以同时对多个读操纵,多个写操纵的I/O函数举办检测,直到稀有据可读或可写时,才真正挪用I/O操纵函数。

信号驱动:起首开启套接口信号驱动I/O成果,并通过体系挪用sigaction安装一个信号处理赏罚函数。当数据报筹备好被读时,就为该历程天生一个SIGIO信号。随即可以在信号处理赏罚措施中挪用recvfrom来读数据报,井关照主轮回数据已筹备好被处理赏罚中。也可以关照主轮回,让它来读数据报。

异步的IO模子:奉告内核启动某个操纵,并让内核在整个操纵完成后(包罗将数据从内核拷贝到用户本身的缓冲区)关照我们。这里并不是说必然要用某个模子,epoll也并不是在全部环境下都比select机能要好的,在选择的时辰照旧要团结营业需求来。

7.行使多核处理赏罚计策

此刻运行处事器的主流呆板设置都是多核CPU的,我们在计划处事器的时辰可以操作多焦点的特点,回收多历程可能多线程的框架。关于选择多线程照旧多历程可以按照现实的需求,团结各自的优弱点举办选择。对付多线程的行使,出格是行使线程池的时辰可以通过测试差异线程池处事器的机能来配置吻合的线程池。

8.漫衍式陈设措施

当单机处事器已经找不到吻合的优化点时,我们可以通过漫衍式陈设来进步处事器的相应手段。优越的处事器开拓城市为本身的处事器的扩容,容灾提出一些办理方案。小我私人认为处事器计划的时辰简朴点较量好,这样后期扩容的时辰会很利便。

【编辑保举】

  1. MySQL和PG到底哪个更好用?
  2. 怎样快速定位MySQL 的错误日记(Error Log)?
  3. 怎样停止回表查询?什么是索引包围? | 1分钟MySQL优化系列
  4. 数据库集群方案及Oracle RAC架构说明
  5. 数据库软件架构,到底要计划些什么?
【责任编辑:华轩 TEL:(010)68476606】
点赞 0

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读