it 运维服务台 技术 要求

it 运维服务台 技术 要求,第1张

这个问题,涉及到两个体系,弄清楚就知道IT运维服务台的技术要求了。一个体系是运维部门的工作范围,一个体系是运维岗职责和技能要求。

了解运维部门涉及哪些工作范围,才可以很好地去应对服务台可能面临的各种突发事件,以及如何进行工单需求流转。从运维实践的经验看,只有具备运维岗必备的技能和素质要求,才能从容解决问题,有条不紊地推动工作高效运转。

IT运维服务台,不单纯是一个转接口、转接需求那么简单,这个岗位背后涉及的知识体系非常繁杂。就像医院的收费窗口或者药品窗口,平时看着就是非常简单的收费、打印工作或按单抓药工作,貌似按部就班、简单至极,但实际上每个都是专业人员,非专业人员不能胜任。窗口除了日常工作,还要解决各种突发情况(退费退药、审核药品等)。

如上,下面就列明下运维部门工作范围和运维岗工作职责。

基础设施运维:
1)基础运维:包括机房供配电系统、机房UPS系统、机房空调系统、机房弱电系统、消防系统等;
2)硬件设施:如服务器设备、安全设备、存储设备、终端设备等;
3)网络环境:局域网、互联网、网络线路,以及路由器、交换机、负载均衡设备等;
4)基础软件:包括 *** 作系统、数据库系统、中间件等。
2应用系统运维:指业务应用系统投入应用后,为改正软件中隐含的错误,或为提高应用系统软件的适应性、可靠性和完善应用系统功能。
3信息资源运维:建立数据运行与维护的各项管理制度,规范运行与维护业务流程,有效开展运行监控与维护、故障诊断排除、数据备份与恢复、归档与检索等,保障数据库正常运行,使信息系统可持续稳定运定。
4系统安全运维:能事先估计出可能出现的威胁并制定出预防措施,以防止蓄意或意外破坏网络、硬件及文件,防止蓄意滥用软硬件,防止信息盗窃,保护数据正确赛鱼中,提供灾难恢复等内容。包括实体安全、运行安全、信息安全和人员安全。

运维工程师职位描述:
岗位职责:1负责业务产品上线,并不断进行迭代优化,解决反馈的技术问题,保障系统高效运行2针对业务特性,能对常用互联网相关技术熟练部署、配置、优化。3参与运维体系建设,应用系统性能分析与架构优化,推进运维自动化建设。4优化业务的资源利用率,降低成本。5负责与相关技术、业务等同事保持紧密的沟通和协作,共同完成部门目标。
任职资格:1本科及以上学历,计算机相关专业,5年以上的互联网产品运维经验2精通Linux *** 作系统,熟悉微服务架构、容器技术,能对常用互联网相关技术熟练部署、配置、优化3具备基本的服务器、网络、存储、 *** 作系统知识,思路清晰,善于思考,能独立分析和解决问题4掌握nginx、redis、RabbitMQ、zookeeper、mysql、Hadoop、docker软件的配置使用5掌握jenkins、git、ELK工具,对软件 *** 作与命令熟悉有丰富经验。

SEO优化应具备以下能力:
1、熟悉SEO规则、搜索引擎的算法机制。
2、懂得分析数据、分析百度统计、百度指数数据。如果可以的话也可以通过百度推广其他的统计渠道获取数据。
3、懂得一些用户体验、用户心理学的研究。知道怎么去布局网站。因为数据并非真正用户,只有懂得用户了。你可以进一步和业务部门协商做好公司的业绩。
4、懂得基本的网站程序,例如asp、php简单的html。在设计草案时候以及和部门员工协调工作时候要用到。
5、培训和培养编辑、统计人员、外链人员方面技能。
6、能够给合理分配工作和制定周工作计划和考核相关人员。
7、做策划规划以及发现最新的算法和互联网最新动态,做出创意。

首先浪潮服务器的实力毋庸置疑,其AI计算能力放眼全球也处于金字塔顶尖位置,在我国更是一骑绝尘,身后的追兵几乎难以望其项背。其实在产业AI化进程不断提速的当下,浪潮通过技术上的优化突破,正牢牢掌握着市场需求,并打造出了系列优质的产品。例如浪潮NF5488A5服务器就曾在MLPerf基准测试最受关注的Resnet50训练任务中创下AI性能记录,以3337分钟完成百万张图像训练任务的优秀成绩,在所有提交的单服务器性能成绩中名列榜首,书写了全新的世界性能记录。

一般来说如果网络中只有一台服务器把许可证放在服务器端 有一台以上的服务器把许可证放在服务器端我们可以从这几个方面来衡量服务器是否达到了其设计目的;R:Reliability——可靠性;A:Availability——可用性;S:Scalability——可扩展性;U:Usability——易用性; M:Manageability——可管理性,即服务器的RASUM衡量标准。

服务器系统的硬件构成与我们平常所接触的电脑有众多的相似之处,主要的硬件构成仍然包含中央处理器、内存、芯片组、I/O总线、I/O设备、电源、机箱和相关软件这几个主要部分,这也成了我们选购一台服务器时所主要关注的指标。在信息系统中,服务器主要应用于数据库和Web服务,而PC主要应用于桌面计算和网络终端,设计根本出发点的差异决定了服务器应该具备比PC更可靠的持续运行能力、更强大的存储能力和网络通信能力、更快捷的故障恢复功能和更广阔的扩展空间,同时,对数据相当敏感的应用还要求服务器提供数据备份功能。而PC机在设计上则更加重视人机接口的易用性、图像和3D处理能力及其他多媒体性能。

有一款服务器的牌子就不错,十几年的老品牌“亿万克”性价比特别高,运行速度快,不卡顿。有保障,高稳定,低延时,安全可信、安全可控。非常值得选择。

综合来说就是让SE(搜索引擎)正确地认识我们的站点,优化站点相关关键词的排名、站内页面的优化和链接的优化。
值得注意的是我把关键词的排名是作为三要素之一,也就是说在我看来关键词的排名并不是SEO的最终目标,搜索引擎优化的最终目标是让搜索引擎认识到站点真实的一面。
这会涉及到很多的东西,例如大家现在可以看到在很多或者连续剧的关键词视频网站都排在前面,这就说明他们的SEO到达了一定的水准,搜索引擎能够正确地辨识出他们提供的是关于哪些内容的资源,从而给他们带去他们想要的用户。
网站内容是搜索引擎优化的第一要素
1 大量的原创内容能够帮助你在客户的心里建立良好的信誉和权威的地位。
2 其他的站长会自动的链接到你的网站。
SEO判断文章原始出处的方法
1 网页PR值。
2 网页第一次被收录的时间。
3 域名注册时间。(百度似乎认为域名比较老的就是原创)
4 网站的权威度。
关键词的选择
1 关键词不要太宽泛
2 主打关键词也不适于太长太特殊,例如公司名称(知名品牌出外)
3 站在用户角度思考,专业名词用户不会搜索,例如SEO
4 最有效率的关键词就是那些竞争网页最少,同时被用户搜索次数最多的词。
5 和你的网站要相关
职业SEO应该学习的知识
1 市场营销 + 网页制作 + 简单的网站程序编写 + SEO技术
2 项目组织和协调 + 关注搜索引擎优化技术的新发展 + 写作能力
怎样治疗网站内容缺乏症
1 从产品历史和沿革出发
2 从制造、发明产品的人出发
3 从原材料出发
4 从客户出发
5 从本行业出发
6 从产品用途出发
7 从产品技术出发
网站被惩罚或被封该怎么办
1 首先确定你的网站是完全被封,还是只是排名下降。直接搜索一下域名或URL;用site:指令查一下;用网页上某一句独特的话搜索一下(例如版权信息);
2 检查服务器设置、robotstxt文件、网站是否过度优化(过度优化现在往往是排名被惩罚的重要原因)。
3 是否有可疑的页面转向有大量交叉链接链接向其他有作弊嫌疑的网站
4 是否被若为复制内容网页
5 是否用了隐藏网页大量垃圾链接
6 其他作弊手段;
高质量的外部链接来自 (你可以反过来思考,不包括的哪些)
1 开放目录;
2 其他站对你的新闻介绍;
3 权威网站的商业链接;
如何写TITLE
1 每个页面要不一样,并且符合页面内容;
2 吸引人,排在搜索结果第一页第一屏,客户点哪个就看标题了;
3 标题标签中应该含有关键词,并且顺口;
4 普遍TITLE结构:文章名 - 分类名 - 网站名;例如:胎教音乐下载 – 胎教方法 – 妈妈帮
5 别堆砌关键字。
搜索引擎对“导入链接”的分析可能包含
1 导入链接数目
2 导入链接本身的重要性,也就是链接向你的网页本身的重要性
3 (这两点也就形成了Google PR,但后面的这些因素都和PR没有直接关系。)
4 反向链接增加的速度
5 反向链接所在网站本身的内容主题
6 反向链接所在页的内容是否相关
7 反向链接的链接锚文字
8 反向链接锚文字前后周围的文字
9 链接在页面的位置
10 反向链接所在的域名年龄
11 反向链接所在的域名是否曾经转手
12 反向链接所在页第一次被收录的日期
13 反向链接所在页页面内容是否曾经有变化有什么样的变化
14 反向链接第一次出现在页面上是什么时候15 链接文字是否曾经变化变化是什么
16 反向链接所在页还链接向哪些其他网站这些其他网站内容是否相关质量怎么样
17 反向链接是否有垃圾链接嫌疑比如来自论坛签名,博客等地方。
18 链接点击率
19 用户点击链接后在你的网站停留多长时间
反向链接一般原则
1 反向链接的锚文字(链接文字)应该多样化
2 链接应该来自相关网页
3 链接在网页不同的位置
4 逐步自然增长
5 反向链接应该来自不同PR的网页
6 来自好的邻居
7 链接应该来自不同的IP地址
8 来自新旧网站的链接都有
9 优质交换链接或友情链接
10 链接到内容网页 千万不要把所有链接都指向你的主页
11 链接向你的网页是不是还链接向其他的不好的网页
关键字的选择步骤
1 列出大量关键词:自己想、问朋友、看对手、用工具
2 关键词竞争程度:总相关网页数;竞价广告价格
3 关键字被搜索次数
4 计算关键词效能
5 确定关键字
针对关键词进行网页优化
1 关键词密度
2 HTML标签
3 关键词在网页正文中:正文标题、开头、H1~H3、加粗(黑体)、斜体
4 URL中的关键词
5 关键词出现在链接中
6 注意优化自然性,防止过度优化。

URL优化规则 (在选择CMS或BLOG程序时需要考虑)
1 选个好域名,和网站主题相关,
2 静态化,别有“ & %”等;
3 文件名包含内容相关的关键字;
4 别太长;
5 全部用小写,因为Unix/Linux服务器大小写字母是不同处理;
提高域名信任度的几个简单方法
1 网站要有隐私权政策,特别是需要用户注册的网站;
2 提供完整的联系方法,地址、电话、邮编、EMAIL、QQ、MSN等等;
3 页面数量;
4 与行业内权威网站的链接;
5 域名一次注册N年,而不是每年续费;
6 拥有独立IP地址;服务器反应快速;
7 没有死链接、无效链接、假链接(该有链接的地方缺没有)
8 网页HTML代码经过W3C验证;
9 “关于我们”写的详细。
网站健康检查
1 首先看域名Whois信息,注意域名第一次注册的时间,中间有没有注册人转手;
2 检查网站DNS设置是否正确,是否有多个域名。
3 URL是否静态化。
4 收录情况怎样
5 是否有作弊行为:隐藏文字、群发链接等;
6 页面设计是否漂亮,规范。
7 网站所在的IP地址上还有哪些网站,收录情况,外部链接情况,外观感觉怎样;
站内链接的优化 这里推荐XFO外链工具
1 建立规范的网站地图;
2 每个网页最多离首页四次点击;
3 使用文字导航
4 链接文字包含关键字;
5 网页的互相链接,使用“相关文章”“推荐文章”“随机文章”等功能;
新站点怎样寻找外部链接
1 新站点开通三个月以后,再开始寻找链接;因为收录、PR都稳定了;
2 登录分类目录;直接搜索“分类信息”或者“黄页”等可以搜到很多这样的网站 ,我的科迪络互联传媒很容易就加入了。
3 写博客,发布有吸引力的文章,请朋友转贴;
4 网站初期从非商业性开始,因为商业网站相对难得到链接;
5 与同类网站友情链接;
需要知道竞争对手网站的哪些情况
1 这些网站规模有多大,网站本身有多少页
2 收录了多少页
3 这些网站的栏目设置
4 内容是原创为主,还是采集的
5 网站PR值
6 域名注册时间
7 网页关键词密度
8 关键词出现的位置
9 有没有一定的规律可以学习
10 在雅虎查一下这些网站的外部链接有多少
11 外部链接来自于什么地方,质量如何
12 是大量的友情链接,垃圾链接还是来自新闻门户
百度排名观察
1 百度蜘蛛极为活跃。
2 似乎更注重页面内的因素。
3 没有类似于Google沙盒效应的因素。(当前已经引入)
4 目标关键词应该完整匹配地出现在页面中。
5 比较少考虑整个网站的主题。
6 过度的优化网页并不能在百度搜索中得到好的排名。
7 相较于Google排名来说比较简单。只要你的网站符合最基本的用户友好原则和搜索引擎优化原则,就应该会得到相当不错的排名。

最近对离线数仓体系进行了扩容和架构改造,也算是一波三折,出了很多小插曲,有一些改进点对我们来说也是真空地带,通过对比和模拟压测总算是得到了预期的结果,这方面尤其值得一提的是郭运凯同学的敬业,很多前置的工作,优化和应用压测的工作都是他完成的。 

整体来说,整个事情的背景是因为服务器硬件过保,刚好借着过保服务器替换的机会来做集群架构的优化和改造。 


1集群架构改造的目标

在之前也总结过目前存在的一些潜在问题,也是本次部署架构改进的目标:

1)之前 的GP segment数量设计过度 ,因为资源限制,过多考虑了功能和性能,对于集群的稳定性和资源平衡性考虑有所欠缺,在每个物理机节点上部署了10个Primary,10个Mirror,一旦1个服务器节点不可用,整个集群几乎无法支撑业务。


2)GP集群 的存储资源和性能的平衡不够 ,GP存储基于RAID-5,如果出现坏盘,磁盘重构的代价比较高,而且重构期间如果再出现坏盘,就会非常被动,而且对于离线数仓的数据质量要求较高,存储容量相对不是很大,所以在存储容量和性能的综合之上,我们选择了RAID-10。


3)集 群的异常场景的恢复需要完善, 集群在异常情况下(如服务器异常宕机,数据节点不可用,服务器后续过保实现节点滚动替换)的故障恢复场景测试不够充分,导致在一些迁移和改造中,相对底气不足,存在一些知识盲区。


4)集群版本过 ,功能和性能上存在改进空间。毕竟这个集群是4年前的版本,底层的PG节点的版本也比较旧了,在功能上和性能上都有一定的期望,至少能够与时俱进。


5) *** 作系统版本升 ,之前的 *** 作系统是基于CentOS6,至少需要适配CentOS 7 。


6)集群TPCH 压测验收 ,集群在完成部署之后,需要做一次整体的TPCH压测验收,如果存在明显的问题需要不断调整配置和架构,使得达到预期的性能目标。


此外在应用层面也有一些考虑,总而言之,是希望能够解决绝大多数的痛点问题,无论是在系统层面,还是应用层面,都能上一个台阶。


2集群规划设计的选型和思考

明确了目标,就是拆分任务来规划设计了,在规划设计方面主要有如下的几个问题:


1)Greenplum的版本选择 ,目前有两个主要的版本类别,一个是开源版(Open Source distribution)和Pivotal官方版,它们的其中一个差异就是官方版需要注册,签署协议,在此基础上还有GPCC等工具可以用,而开源版本可以实现源码编译或者rpm安装,无法配置GPCC。综合来看,我们选择了 开源版本的6162 ,这其中也询问了一些行业朋友,特意选择了几个涉及稳定性bug修复的版本。


2)数据集市的技术选型 ,在数据集市的技术选型方面起初我是比较坚持基于PostgreSQL的模式,而业务侧是希望对于一些较为复杂的逻辑能够通过GP去支撑,一来二去之后,加上我咨询了一些行业朋友的意见,是可以选择基于GP的方案,于是我们就抱着试一试的方式做了压测,所以数据仓库和和数据集市会是两个不同规模体量的GP集群来支撑。


3)GP的容量规划 ,因为之前的节点设计有些过度,所以在数量上我们做了缩减,每台服务器部署12个segment节点,比如一共12台服务器,其中有10台服务器是Segment节点,每台上面部署了6个Primary,6个Mirror,另外2台部署了Master和Standby,就是即(6+6)10+2,整体的配置情况类似下面的模式。

4)部署架构方案选型 ,部署架构想起来比较容易,但是落实起来有很多的考虑细节,起初考虑GP的Master和Standby节点如果混用还是能够节省一些资源,所以设计的数据仓库和数据集市的部署架构是这样考虑的,但是从走入部署阶段之后,很快就发现这种交叉部署的模式是不可行的,或者说有一些复杂度。


除此之外,在单个GP集群的部署架构层面,还有4类方案考虑。

  方案1 :Master,Standby和segment混合部署
  方案2 :Master,Standby和segment独立部署,整个集群的节点数会少一些
  方案3 :Segment独立部署,Master,Standby虚拟机部署
  方案4 :最小化单节点集群部署(这是数据集市最保底的方案)  

这方面存在较大的发挥空间,而且总体来说这种验证磨合的成本也相对比较高,实践给我上了一课, 越是想走捷径,越是会让你走一些弯路 ,而且有些时候的优化其实我也不知道改怎么往下走,感觉已经无路可走,所以上面这4种方案其实我们都做了相关的测试和验证。


3集群架构的详细设计和实践

1)设计详细的部署架构图

在整体规划之上,我设计了如下的部署架构图,每个服务器节点有6个Primary,6个Mirror,服务器两两映射。



2)内核参数优化

按照官方文档的建议和具体的配置情况,我们对内核参数做了如下的配置:

vmswappiness=10
vmzone_reclaim_mode = 0
vmdirty_expire_centisecs = 500
vmdirty_writeback_centisecs = 100
vmdirty_background_ratio = 0 # See System Memory
vmdirty_ratio = 0
vmdirty_background_bytes = 1610612736
vmdirty_bytes = 4294967296
vmmin_free_kbytes = 3943084
vmovercommit_memory=2
kernelsem = 500 2048000 200 4096


4集群部署步骤

1)首先是配置/etc/hosts,需要把所有节点的IP和主机名都整理出来。 

2)配置用户,很常规的步骤

groupadd  gpadmin

useradd gpadmin -g gpadmin

passwd gpadmin

3)配置sysctlconf和资源配置

4)使用rpm模式安装

# yum install -y apr apr-util bzip2 krb5-devel  zip

# rpm -ivh open-source-greenplum-db-6162-rhel7-x86_64rpm

5)配置两个host文件,也是为了后面进行统一部署方便,在此建议先开启gpadmin的sudo权限,可以通过gpssh处理一些较为复杂的批量 *** 作

6)通过gpssh-exkeys来打通ssh信任关系,这里需要吐槽这个ssh互信,端口还得是22,否则处理起来很麻烦,需要修改/etc/ssh/sshd_config文件

gpssh-exkeys -f hostlist

7)较为复杂的一步是打包master的Greenplum-db-6162软件,然后分发到各个segment机器中,整个过程涉及文件打包,批量传输和配置,可以借助gpscp和gpssh,比如gpscp传输文件,如下的命令会传输到/tmp目录下

gpscp -f /usr/local/greenplum-db/conf/hostlist /tmp/greenplum-db-6162targz =:/tmp

或者说在每台服务器上面直接rpm -ivh安装也可以。

8)Master节点需要单独配置相关的目录,而Segment节点的目录可以提前规划好,比如我们把Primary和Mirror放在不同的分区。 

mkdir -p /data1/gpdata/gpdatap1

mkdir -p /data1/gpdata/gpdatap2

mkdir -p /data2/gpdata/gpdatam1

mkdir -p /data2/gpdata/gpdatam2

9)整个过程里最关键的就是gpinitsystem_config配置了,因为Segment节点的ID配置和命名,端口区间都是根据一定的规则来动态生成的,所以对于目录的配置需要额外注意。

10)部署GP集群最关键的命令是

gpinitsystem -c gpinitsystem_config -s standby_hostname


其中文件gpinitsystem_config的主要内容如下:

MASTER_HOSTNAME=xxxx

declare -a DATA_DIRECTORY=(/data1/gpdata/gpdatap1  /data1/gpdata/gpdatap2 /data1/gpdata/gpdatap3 /data1/gpdata/gpdatap4 /data1/gpdata/gpdatap5 /data1/gpdata/gpdatap6)

TRUSTED_SHELL=ssh

declare -a MIRROR_DATA_DIRECTORY=(/data2/gpdata/gpdatam1  /data2/gpdata/gpdatam2 /data2/gpdata/gpdatam3 /data2/gpdata/gpdatam4 /data2/gpdata/gpdatam5 /data2/gpdata/gpdatam6)

MACHINE_LIST_FILE=/usr/local/greenplum-db/conf/seg_hosts

整个过程大约5分钟~10分钟以内会完成,在部署过程中建议要查看后端的日志查看是否有异常,异常情况下的体验不是很好,可能会白等。


5集群部署问题梳理

集群部署中还是有很多细节的问题,太基础的就不提了,基本上就是配置,目录权限等问题,我提另外几个:

1) 资源配置问题 ,如果/etc/security/limitsconf的资源配置不足会在安装时有如下的警告:


2) 网络问题 ,集群部署完成后可以正常 *** 作,但是在查询数据的时候会抛出错误,比如SQL是这样的,看起来很简单:select count() from customer,但是会抛出如下的错误:

这个问题的主要原因还是和防火墙配置相关,其实不光需要配置INPUT的权限,还需要配置OUTPUT的权限。 

对于数据节点可以开放略大的权限,如:

入口的配置:

-A INPUT -p all -s xxxxx    -j ACCEPT

出口的配置:

-A OUTPUT -p all -s xxxxx    -j ACCEPT


3)网络配置问题 ,这个问题比较诡异的是,报错和上面是一样的,但是在排除了防火墙配置后,select count() from customer;这样的语句是可以执行的,但是执行的等待时间较长,比如表lineitem这表比较大,过亿的数据量,,在10个物理节点时,查询响应时间是10秒,但是4个物理节点,查询响应时间是在90秒,总体删感觉说不过去。

为了排查网络问题,使用gpcheckperf等工具也做过测试,4节点和10节点的基础配置也是相同的。

gpcheckperf -f /usr/local/greenplum-db/conf/seg_hosts -r N -d /tmp

$ cat /etc/hosts
127001   localhost localhostlocaldomain localhost4 localhost4localdomain4
::1      localhost localhostlocaldomain localhost6 localhost6localdomain6
#127001    test-dbs-gp-128-230
xxxxx128238 test-dbs-gp-svr-128-238
xxxxx128239 test-dbs-gp-svr-128-239

其中127001的这个配置在segment和Master,Standby混部的情况是存在问题的,修正后就没问题了,这个关键的问题也是郭运凯同学发现的。


5集群故障恢复的测试

集群的故障测试是本次架构设计中的重点内容,所以这一块也是跃跃欲试。

整体上我们包含两个场景,服务器宕机修复后的集群恢复和服务器不可用时的恢复方式。

第一种场景相对比较简单,就是让Segment节点重新加入集群,并且在集群层面将Primary和Mirror的角色互换,而第二种场景相对时间较长一些,主要原因是需要重构数据节点,这个代价基本就就是PG层面的数据恢复了,为了整个测试和恢复能够完整模拟,我们采用了类似的恢复方式,比如宕机修复使用了服务器重启来替代,而服务器不可用则使用了清理数据目录,类似于一台新配置机器的模式。

1)服务器宕机修复后集群恢复

select from gp_segment_configuration where status!='u';

gprecoverseg  -o /recov

gprecoverseg -r

select from gp_segment_configuration where status='u'


2)服务器不可用时集群恢复

重构数据节点的过程中,总体来看网络带宽还是使用很充分的。

select from gp_segment_configuration where status='u'

select from gp_segment_configuration where status='u' and role!=preferred_role;

gprecoverseg -r

select from gp_segment_configuration where status='u' and role!=preferred_role;


经过测试,重启节点到数据修复,近50G数据耗时3分钟左右

6集群优化问题梳理

1)部署架构优化和迭代

对于优化问题,是本次测试中尤其关注,而且争议较多的部分。 

首先在做完初步选型后,数仓体系的部署相对是比较顺利的,采用的是第一套方案。

数据集市的集群部分因为节点相对较少,所以就选用了第二套方案

实际测试的过程,因为配置问题导致TPCH的结果没有达到预期。

所以这个阶段也产生了一些疑问和怀疑,一种就是折回第一种方案,但是节点数会少很多,要不就是第三种采用虚拟机的模式部署,最保底的方案则是单节点部署,当然这是最牵强的方案。

这个阶段确实很难,而在上面提到的修复了配置之后,集群好像突然开悟了一般,性能表现不错,很快就完成了100G和1T数据量的TPCH测试。

在后续的改造中,我们也尝试了第三套方案,基于虚拟机的模式,通过测试发现,远没有我们预期的那么理想,在同样的数据节点下,Master和Standby采用物理机和虚拟机,性能差异非常大,这个是出乎我们预料的。比如同样的SQL,方案3执行需要2秒,而方案2则需要80秒,这个差异我们对比了很多指标,最后我个人理解差异还是在网卡部分。

所以经过对比后,还是选择了方案2的混合部署模式。

2)SQL性能优化的分析

此外整个过程的TPCH也为集群的性能表现提供了参考。比如方案2的混合部署模式下,有一条SQL需要18秒,但是相比同类型的集群,可能就只需要2秒钟左右,这块显然是存在问题的。 

在排除了系统配置,硬件配置的差异之后,经典的解决办法还是查看执行计划。

性能较差的SQL执行计划:

# explain analyze select count()from customer;

QUERY PLAN   

Aggregate  (cost=00043100 rows=1 width=8) (actual time=2479291624792916 rows=1 loops=1)

   ->  Gather Motion 36:1  (slice1; segments: 36)  (cost=00043100 rows=1 width=1) (actual time=325516489394 rows=150000000 loops=1)

         ->  Seq Scan on customer  (cost=00043100 rows=1 width=1) (actual time=07801267878 rows=4172607 loops=1)

Planning time: 4466 ms

   (slice0)    Executor memory: 680K bytes

   (slice1)    Executor memory: 218K bytes avg x 36 workers, 218K bytes max (seg0)

Memory used:  2457600kB

Optimizer: Pivotal Optimizer (GPORCA)

Execution time: 24832611 ms

(9 rows)


Time: 24892500 ms


性能较好的SQL执行计划:

# explain analyze select count()from customer;                            

QUERY PLAN

Aggregate  (cost=00084208 rows=1 width=8) (actual time=15193111519311 rows=1 loops=1)

   ->  Gather Motion 36:1  (slice1; segments: 36)  (cost=00084208 rows=1 width=8) (actual time=6347871519214 rows=36 loops=1)

         ->  Aggregate  (cost=00084208 rows=1 width=8) (actual time=14732961473296 rows=1 loops=1)

               ->  Seq Scan on customer  (cost=00083433 rows=4166667 width=1) (actual time=0758438319 rows=4172607 loops=1)

Planning time: 5033 ms

   (slice0)    Executor memory: 176K bytes

   (slice1)    Executor memory: 234K bytes avg x 36 workers, 234K bytes max (seg0)

Memory used:  2457600kB

Optimizer: Pivotal Optimizer (GPORCA)

Execution time: 1543611 ms

(10 rows)


Time: 1549324 ms

很明显执行计划是被误导了,而误导的因素则是基于统计信息,这个问题的修复很简单:

analyze customer;

但是深究原因,则是在压测时,先是使用了100G压测,压测完之后保留了原来的表结构,直接导入了1T的数据量,导致执行计划这块没有更新。

3)集群配置优化

此外也做了一些集群配置层面的优化,比如对缓存做了调整。 

gpconfig -c statement_mem -m 2457600 -v 2457600

gpconfig -c gp_vmem_protect_limit -m 32000 -v 32000


7集群优化数据

最后来感受下集群的性能:

1)10个物理节点,(6+6)10+2

tpch_1t=# iming on

Timing is on

tpch_1t=# select count()from customer;

   count   

-----------

150000000

(1 row)

Time: 1235801 ms


tpch_1t=# select count()from lineitem;

   count    

------------

5999989709

(1 row)

Time: 10661756 ms


2)6个物理节点,(6+6)6

# select count()from customer;
   count   
-----------
 150000000
(1 row)
Time: 1346833 ms


# select count()from lineitem;
   count    
------------
 5999989709
(1 row)
Time: 18145092 ms


3)4个物理节点,(6+6)4

# select count()from customer;
   count   
-----------
 150000000
(1 row)
Time: 1531621 ms

# select count()from lineitem;
   count    
------------
 5999989709
(1 row)
Time: 25072501 ms

4)TPCH在不通架构模式下的性能比对 ,有19个查询模型,有个别SQL逻辑过于复杂暂时忽略,也是郭运凯同学整理的列表。

在1T基准下的基准测试表现:

一、SEO是什么意思
SEO的中文意思指的就是搜索引擎优化,属于网络营销的范畴。通过SEO技术对网站的关键词进行优化,让用户搜索时能够展现在一个比较靠前的位置,让用户一眼就能看得到,增加曝光率,为网站带来流量。大家都知道互联网上,不管是网站、淘宝店铺都需要流量,只有有了流量,才能形成转化。打个比方,网站就好比是商店,没经过SEO优化的网站就好比是建在偏僻山区的商店,你的商品再好,也无人问津,因为别人不知道你的地址。经过SEO优化网站就好比放在闹市区的商店,每天人来人往,自然而然的,生意就好起来。SEO就是这样一种为网站获取流量的营销手段。

二、怎么学习SEO
现今学习SEO的人有很多,可是说到真正懂SEO的人很少。那些每天发两条外链,更新一下文章的人,就说自己是做SEO的。其实SEO并不只是他们说的那样,真正的SEO注重的是用户体验优化,思维方面的一些东西。现在网络上传者很多几年前的SEO教程,都已经是过时了的东西,却还在跟着学。所以学了很长时间还是学不到什么,因为搜索引擎的算法不断更新,那些教程早就已经过时了,还跟着学,不仅学不好,还会学片。怎么样学好SEO,成为这个行业的高手?
你可以来这个群看下:前面四位:2 64,  中间两位是:783  结尾三位是:6O2 记得按顺序来。在这里每天都有SEO课程的知识讲解,每天SEO学习资料的更新,只要自己认真我相信你能学别的地方学不到的SEO知识。

三、学习SEO有没有前途
现在很多传统行业都在向着互联网发展,想在这个庞大的互联网时代分得一杯羹,必定都需要搭建一个自己公司的企业网站,而公司能不能在互联网上发展壮大,取决于你网站有没有流量有没有客户,而SEO就是为网站引流最好的利器,只要是网站就离不开SEO,很多企业都缺少大量的SEO人才,可见SEO人才的稀缺。到这里还会觉得SEO没有前途吗?只要自己技术到家,走到哪里都不用怕。

四、学了SEO能做什么
答:学会SEO能做的是有很多啊。比如说:
(1)你可以找一份关于SEO的工作,现在在很多企业都在招收SEO人才,工资高的有上万;
(2)可以跟企业合作,建一个网站,关键词排名做上去,每形成一单收取相应的提成;
(3)可以自己接单做优化,把客户网站的关键词做上去就可以获取收益;
(4)可以自己建一个资源站。比如论坛、**网站、小说网站等。网站有排名,有流量就网站做什么都有收益。;
(5)通过SEO技术自己进行创业。

五、怎样成为一个优秀的SEO主管
1 熟悉SEO的整套 *** 作流程
SEO *** 作流程包括关键词竞争度分析,竞争对手的站内数据分析,百度谷歌等搜索引擎的收录情况,相关域,谷歌Link链接,robots的设置,标题和关键词的设置,标签优化、外链建设等等。

2 关键词的挖掘
可以使用一些关键词挖掘工具,如追词等,还可以使用百度指数,分析出一些目标关键词和长尾关键词。最好能做成一个词库,方便后期随时更换。

3 制定详细的SEO优化计划
计划可以包括长期计划、中期计划和短期计划。哪个关键词什么时候排名到首页还是前三,需要做哪些事情能完成这项计划等等。最好使用表格的形式,这样方便管理,完成后,就在表格中打入一个勾,代表该任务已经完成。

4 用户需求分析
用户需求分析可以查看百度统计分析,百度热力图分析,pv,跳出率,uv分析,独立访客,页面停留时间 等等。

5 团队职能分配
SEO团队一般由三至四人组成,一部分人负责外链建设,一部分人负责内链建设,大家一起分工合作完成。

6 调整团队的心态
做SEO优化时,心态变得非常重要,因为这项工作涉及一个统计学,需要长时间努力才能有所收获,切忌烦躁,保证每天按照计划完成就可以了。

总结:SEO不单单是技术,更多的是你的思维方式。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/13190018.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-06-18
下一篇 2023-06-18

发表评论

登录后才能评论

评论列表(0条)

保存