如何运维能让网站稳定高效--稳定篇

如何运维能让网站稳定高效--稳定篇

浏览:50 发布日期:2015/08/13 分类:技术分享

本文由 Alan 投稿

作为一名运维工程师,工作中最大的希望就是自己运维的网站能够稳定高效运行,但理想很丰满现实很骨感,实际情况是总会有各种各样状况导致网络、服务器或者应用环境发生故障。面对这种情况,我觉得还是要能从故障中总结出经验规律,让发生的几率不断的降低。要完成稳定和高效两者中的任何一个都是一个极具挑战的事情,这里我以维护自己的blog为例来阐述一下我对稳定这个词的诠释和理解。

我的Blog架设在wordpress环境上的,记录了工作中的一些经验总结和随笔文章,虽然是个人网站,但麻雀虽小,五脏俱全,有一定的代表性。

一. 稳定之硬件稳定

硬件是基础设施,必须打好硬件稳定的基础。传统的硬件选型一般都是购买HP,DELL的机架式服务器,根据自己的需求选择CPU,内存,硬盘等,这种方式有一个弊端就是不能很方便的对硬件进行后期扩容,买了后一般情况下就定型了,而且还要托管,购买带宽,后期的硬件维护也是需要自己来做。面对这些问题,我觉得选择当下比较炙手可热的云服务器是个不错的选择。它解决了:

1) 硬件型号不再重要,自然也就不会成为网站发展的瓶颈,CPU,内存,硬盘等硬件的大小都是弹性的,根据自己使用的情况随时可以增大和减小

2) 云服务器提供商提供托管场地和网络带宽设施

3) 因为云服务器提供商一般都有大量的服务器,所以会专门有一个机房工程师每天做硬件,网络的巡检工作,及时发现问题并将基础问题处理在萌芽阶段

4) 对磁盘IO要求比较高的,可以选择购买本地磁盘和SSD磁盘来解决问题

总的来说,选择云服务器比较省心,而且国内的云服务器也逐渐的成熟起来,我个人使用云服务器这种方式7个月了,截止目前,硬件,网络都没有出现过问题,还是比较稳定的。当然大型云服务器提供商是比较好的选择,阿里云、腾讯云、Ucloud都不错。具体选择哪家,可以根据自己的实际情况来酌情选择。

二. 稳定之软件稳定

软件是具体提供服务的应用组件,要做好这个稳定我觉得比硬件难一些了,方方面面都要考虑清楚,这里从下往上来逐个分析吧:

1)Wordpress是一个PHP环境的程序,那么Linux作为系统环境就是一个很好的选择,其实稳定的另一个特征就是当出现了故障时能够很快的排除故障,在成百上千的Linux发布系统中很多人最终选择Redhat,CentOS肯定是有其原因的,CentOS是基于企业级linux系统发布Redhat编译而来,兼容性好而且免费使用,网络中有大量的技术文章可以借阅参考,64位也会逐渐的取代32位系统,我最后选择的是CentOS6 64位系统环境。这里不是说让大家全部选择此发行版,而是一个建议,在实际选择过程中最好根据自己的业务类型,选择一个能用上3到5年的系统,不折腾。

2)nginx、mysql、php的搭档组合有逐步取代AMP组合的趋势,V1.0以上的nginx,V5.1以上的mysql,V5.4以上的PHP,这个版本选择是目前比较实用的组合,能够支撑一段时间不需要在更新了。

3)组件选择好后,比较关键的就是配置好这些组件了,配置这个过程没有一个统一的标准,需要不同参数也就不同,但不管环境怎样,还是有几个比较通用的法则:

A. 一个PHP和nginx进程大约占用内存20M,最大允许的进程数是要根据自己的实际内存大小来动态调整,否则可能导致内存耗尽而系统崩溃

B.调整参数的原则就是让自己的硬件资源能够充分利用,最大使用率根据28原则

C.配置的过程是一个循序渐进的过程,很多时候也是在处理问题时逐步总结出来最优配置

三. 稳定之实时监控

网站对外发布后,剩下的任务就是要保证网站不出故障,持久稳定运行了。要做到这一点,就要对网站和硬件的运行情况有一个全面的了解才可以。掌握的数据越多,就对自己的网站运行情况越有利。

可用性监控:

网站当下是否能够正常访问,这是一个最基本的要求。但我们不可能实时去盯着,这里需要有个实时监控的服务去不断的探测,提供这样服务的工具有很多,例如nagios,zabbix等开源产品就是专门做这个事情的,周期性的探测网站的可用性,不过这种产品有一个很大的局限性,就是nagios和zabbix是部署在和自己网站同样的网络环境中,常常会出现nagios探测是好的,但外部访问却不行的状况。

这里我选择了一个第三方公司的产品——云智慧的监控宝,来做我的blog的可用性监控,其实现原理是使用它在全世界托管的监测服务器来周期性的访问我的blog,这种监控比较接近于实际用户访问,比较有说服力,如果发现了问题,会有一个告警信息发送到手机、邮件上。

图1

图2

四. 稳定之压力测试

压力测试的目的是为了能够对自己网站的最大负载能力有一个预估值,原则是测试一个有复杂业务逻辑的动态页面为好,通过压力测试得出自己网站的最大并发值和承载能力。得出这个值之后,剩下的在配置参数的时候就有依据了。压力测试的方法有很多种,比较常见的有ab,loadrunnner等工具。

五.稳定之硬件资源使用监控和并发数监控

压力测试的目的就是为了能够在这一环节有的放矢,网站上线后通过可用性监控得知网站是否能正常访问。在通过硬件资源使用情况和web服务的并发数监控,在监控中将告警阀值设置为压力测试过程中的80%为准。通过这样的实时监控,就对自己的服务器的运行情况有一个立体式的掌控,让其能够运行在正常的区间中。

总结:

保证服务的稳定是一个持续的过程,通过时间的积累对自己维护的业务运行情况越来越熟悉,对架构的掌握也越来越透彻,将网站架构中的薄弱环节加固,再通过后期的实时监控,对网站的整体运行情况有一个清晰的认识,由此来让自己运维的网站稳定运行。以上五点算是抛砖引玉吧,如果你有好的方法,随时沟通交流:[email protected]

监控宝官网:www.jiankongbao.com

时间: 2024-10-11 17:55:40

如何运维能让网站稳定高效--稳定篇的相关文章

老司机:如何让运维操作更轻松、高效

讲师介绍 庞辉富 广通软件技术总监 拥有10多年IT运维管理软件研发经验 致力于自动化运维解决方案的研究和推广 主导研发的产品广泛应用于海关.公安.能源等多个行业 技术发展给运维带来的挑战 当前的IT建设在这些新技术的演进下,我们看到的是呈现"双态IT"特征.Gartner也提出双模IT理论,与现在谈的双态IT是异曲同工的,不再是一种单纯的形态,而是两种形态交集在一起. 一种是稳态,也是我们经常说的核心业务,比如银行的核心业务.政府的核心业务等,业务系统一般以传统IOE或VCE架构设计

运维工具大宝典之开源平台篇

from http://cio.it168.com/a2015/1128/1782/000001782714_all.shtml [IT168技术]在运维工具大宝典系列第一篇文章<运维工具大宝典之运维需求篇>中,云智慧对上云企业的运维需求进行的汇总,其中第6条“对开源的强烈需求”主要是来自运维人员,特别是技术大牛,他们喜欢一切尽在掌握的感脚,而这就需要开源运维工具. 目前流行的开源运维工具如Zabbix.Nagios等大部分来自国外,虽然这些开源产品功能非常强大,但对技术要求很高,而且缺少足够

运维工具大宝典之商用软件篇

在前一篇<运维工具大宝典之开源工具篇>中,云智慧对比分析了国内流行开源运维监控软件的优劣.在文末我们提到了开源产品在服务和安全等方面的短板,而正因为有这些问题,所以国内企业,特别是中大型行业企业往往因此而拒绝开源产品,选择服务更有保障,产品安全性.稳定性更高的商用运维平台.本文就将为您对比评测国内主流的商用运维监控软件.监控宝推荐星级:★★★★★监控宝是云智慧为用户提供IT性能监控(IT Performance Monitoring)的SaaS产品,包含网站监控.服务器监控.中间件监控.数据库

桌面运维工程师的网站收藏夹

1.IT运维网[365Master.com,IT运维管理第一站]      http://www.365master.com/ IT运维网为信息化系统的长期管理者.维护者.建设者与企业信息化领导.业内专家.相关的网络厂商提供沟通和交流的机会和桥梁.而他们创办的<网管员世界>亦为此提供了一个有力的平台. 2.运维联盟论坛,让IT运维不再孤军奋战!     http://bbs.ywlm.net/ 运维联盟论坛,是一个由一群热血青年倾心打造的IT运维技术交流平台,在这里,我们可以自由的分享运维路上

大型运维知识体系与Python高效自动化运维免费沙龙活动

2015-10-17(周六 下午13:30)大型运维架构运维知识体系讲座 2015-10-18(周日下午13:30)Python运维自动化讲座 以上内容全免费,回馈网友!极其难得的饕餮盛宴! ================================ 大型电商平台架构演变及大型运维知识体系免费讲座 2015-10-17(周六 下午13:30) 主题1:大型电商平台架构演变及大型运维体系知识讲解 内容简介: 通过一个电商网站的架构演变来阐述一个相对完整的<大型运维架构知识体系>.该运维体系

运维小白部署网站踩坑全过程

作为一名一个星期之前还是个运维小白的我,经过一番摸爬滚打终于把我的小网站部署上去了 一.服务器环境 OK,一开始我得到的是一台centos的服务器,没有装apache/nginx.mysql和php环境,一开始我是使用lnmp一键安装包,结果发现php好多扩展和依赖缺失,重装了php后才解决了问题,mysql也遇到一些问题,所以建议大家在装环境时除非一键lamp/lnmp安装包经历过实践的考验,不然还是老老实实地一个一个组件安装,php.mysql.nginx. lnmp/lamp安装成功的标志

IT运维常用工具网站收录

一.查询终端互联网出口IP地址:1.window可以通过浏览器访问网站:http://www.cip.cc/http://myip.ipip.net/http://ip138.com2.Linux可以通过命令查询#curl myip.ipip.net#curl cip.cc 二.知名端口查询http://www.imfirewall.com/ip-mac-lookup/ 通过网站可以查询知名端口对应的应用程序,使用方式见下图: 三.MAC地址信息查询https://mac.51240.com/B

linux学习23 Linux运维必备技能-vim编辑器高效用法进阶

一.vim末行模式 1.地址定界 a.:start_pos[,end_pos] #特定的第#行,例如5即第5行 .:当前行 $:最后一行: #,#:指定行范围,左侧为起始行,右侧为结束行: #,+#:指定行范围,左侧为起始行绝对编号,右侧为相对左侧行号的偏移量: 例如:3,+7:表示从第三行开始,然后增加七行. .,$-1:表示从当前行到倒数第二行 1,$:表示全文,也可以用%表示 /pattern/:从光标所在处开始向文件尾部第一次被这个指定的模式所匹配到的行 /first/,$ :表示从当前

Web运维架构设计与实现之apache篇

系统环境:(关闭selinux) Lamp架构之apache依赖安装及所需依赖包如下: apr-1.4.5 apr-util-1.3.12 pcre-8.10.zip libxml2-2.7.6 libmcrypt-2.5.8 zlib-1.2.3 libpng-1.2.31 jpegsrc.v6b.tar.gz freetype-2.3.5 autoconf-2.68 libgd-2.1.1 httpd-2.4.18 mysql-boost-5.7.17.tar.gz php-5.6.18 安