APP下载

职业规划应用平台运行环境环境分析

2015-10-08胡冀川黄代荣

科技视界 2015年27期
关键词:职业规划

胡冀川 黄代荣

【摘 要】LAMP环境主要是指在Linux操作系统上使用Apache、Mysql、PHP软件搭建的动态网站和开源服务器环境。研究在Linux发行版本CentOS上实现网站环境的优化。CentOS环境下面搭建的网站环境相对windows环境具有很大优势,但采用新的技术手段对提高环境的访问速度、处理能力、安全性是很有必要的,对降低硬件成本有相当大帮助。

【关键词】职业规划;LAMP;CentOS;Apache;MySQL;PHP

1 LAMP网站环境使用情况分析

LAMP作为一种开源的环境,由于具有简易性、安全性、低成本、灵活扩展性等特点或优势,LAMP架构应用的普及范围扩大,已从简单、小型系统的应用扩充到复杂、大型系统的应用,形成了一种发展潮流。

1.1 LAMP大环境

根据PHPChina资料统计显示在Alexa排名中国前200名的网站中有61%的采用LAMP环境,这其中包括腾讯、百度、雅虎、新浪、搜狐、Tom等一大批国内知名网站平台。

随着开源潮流的蓬勃发展,开放源代码的LAMP已经与J2EE和.Net商业软件形成三足鼎立之势,并且该软件开发的项目在软件方面的投资成本较低,因此受到整个IT界的关注。从网站的流量上来说,70%以上的访问流量是LAMP来提供的,LAMP是最强大的网站解决方案。

1.2 CentOS

在distrowatch.com网站上面关于最近12个月全球Linux的279种发行版本的统计信息可以看到,在Linux大家族中占据第7的位置。并且从近一个月的统计信息看出其上升趋势很明显。

在服务器端的优势更加的明显,在云服务器时代,CentOS通常被视为一套稳定可靠的服务器发行版操作系统来使用,稳定性突出、可靠性拔群,并针对最新软件及功能提供长期支持,使其在Linux家族中占得一席之地。

1.3 Apache

根据NetCraft公司的统计数据显示,Apache服务器软件稳稳的占据第一的位置,市场占有度操作一半。

1.4 Mysql

MySQL数据库作为一种开放源代码的关系型数据库管理系统,很受到公司和个人的喜爱,在DB-Engines网站上查询到的相关信息可以看出长期占据第二的位置,增长趋势也是很明显的。

2 LAMP优化

职业规划应用平台的LAMP环境中,我们从将优化工作分为PHP程序优化、MySQL数据库优化、Apache优化、同时加入了Memcache和Redis缓存技术,很大程度上提高了服务器处理效率,节约了硬件成本。

2.1 PHP程序优化

由于PHP是一门脚本式的语言,相对于其它一些编程语言PHP有它不擅长做的事,比如处理deamon程序。我们针对PHP的优化工作主要是两方面,一方面是对php.ini配置文件的优化,另一方面是代码的优化。

php.ini优化当中考虑到php内置的一些函数如果运用到工程会极大影响工程的质量,在配置文件中禁止掉这些函数的使用是一种聪明的行为,我们在配置环境中就禁止了如exec,system,passthru等一系列的函数的使用,降低了函数使用的风险性,同时也避免了当程序出现漏洞时,产生系统级的影响。在php的默认配置中为了方便开发者打开了错误输出,在上线的环境中我们将display_errors配置设置为off,这样既减少了开销,同时也能够屏蔽了当发生错误的时候显示一些相关的特殊的错误信息,影响系统的安全性。魔术引导php的使用是相当不划算的,在magic_quotes_gpc我们关闭了魔术引导的。在网站的目录访问上我们做了相当严格的限制,限制非法的请求。

代码优化用很小的改变就可以带来很有价值的结果。

1)代码中尽量少的减少对文件的一系列操作,避免开销,在代码中必须使用文件操作中,把file、fopen、feof等文件操作函数用file_get_contents代替;

2)在对数据库的操作当中尽量少的使用INSERT、UPDATE操作;

3)尽可能的使用内置函数,在使用内置函数的时候避免使用正则;

4)在对多维数组处理中减少循环嵌套的赋值,使用foreach代替while、for。

2.2 MySQL数据库优化

MySQL数据库是比较优秀的数据管理系统,在使用当中一些简单的优化工作会很大程度提高数据的使用效率。

1)设计优化:存储引擎将MySQL中数据用各种不同的技术存储在文件(或者内存)中。Cobar是阿里巴巴研发的关系型数据的分布式处理系统,该产品成功替代了原先基于Oracle的数据存储方案,目前已经接管了3000+个MySQL数据库的schema,平均每天处理近50亿次的SQL执行请求;数据的编码方式上统一使用utf8,避免产生乱码问题,在表字段设计中考虑需求,避免了存储空间的浪费;

2)软件优化:采用mysql复制,实现读写分离、负载分摊等操作提高数据交换的效率;对数据表进行垂直拆分和水平拆分,优化查询;

3)配置优化:索引缓冲参数设置,对将会使用到JOIN,WHERE判断和ORDER BY的字段创建索引,也避免对含有重复值过多的字段创建索引;在配置中设置线程连接超时参数和线程冰法利用数量。

2.3 缓存技术

影响网站性能的很大原因是Apache同MySQL之间进行频繁的数据交换数据查询,这在很大程度上影响到了性能。但是动态网站的内容必然来至于数据库,如果有方法将动态网页内容静态化,将动态网站中的部分内容静态化,减少每个用户的数据库访问量。memcache是一套分布式的高速缓存系统,MemCache的工作流程如下:先检查客户端的请求数据是否在memcache中,如有,直接把请求数据返回,不再对数据库进行任何操作;如果请求的数据不在memcache中,就去查数据库,把从数据库中获取的数据返回给客户端,同时把数据缓存一份到memcache中(memcache客户端不负责,需要程序明确实现);每次更新数据库的同时更新memcache中的数据,保证一致性;当分配给memcache内存空间用完之后,会使用LRU(Least Recently Used,最近最少使用)策略加上到期失效策略,失效数据首先被替换,然后再替换掉最近未使用的数据。当一个用户访问数据库后,将会把更新缓存中的数据,当下一个用户请求访问的时候,会先检查缓存中是否存在该数据,如果存在直接使用数据,既提高了访问的速度,也减轻了MySQL的压力。

【参考文献】

[1]杨明华,等.LAMP网站开发黄金组合LINUX+APACHE+MYSQL+PHP[M].电子工业出版社,2008.

[2]曾棕根.LAMP(PHP)程序设计[M].北京大学出版社,2012.

[3][美]Tim Boronczyk.PHP & MySQL范例精解[M].清华大学出版,2009.

[责任编辑:邓丽丽]

猜你喜欢

职业规划
论社会适应能力视角下的大学生职业规划
大学生职业规划与就业问题研究
指导大学生做好职业规划的策略研究
如何在地理教学实践中引导学生进行职业规划