自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

技术行者

时代的车轮在按照摩尔定律滚动。

  • 博客(153)
  • 收藏
  • 关注

原创 深度学习介绍——入门以及写诗案例

2017年围棋界发生了一件比较重要事,Master(Alphago)以60连胜横扫天下,击败各路世界冠军,人工智能以气势如虹的姿态出现在我们人类的面前。围棋曾经一度被称为“人类智慧的堡垒”,如今,这座堡垒也随之成为过去。从2016年三月份AlphaGo击败李世石开始,AI全面进入我们大众的视野,对于它的讨论变得更为火热起来,整个业界普遍认为,它很可能带来下一次科技变革

2017-03-19 15:39:30 5969 6

原创 tensorFlow(cifar10官方例子)部分问题记录

1. cifar10的变量重复定义问题:argparse.ArgumentError: argument --batch_size: conflicting option string(s): --batch_size答案:Solved the problem. One is not supposed to execute python cifar10.py directly, but one s

2017-03-16 22:27:07 7182 2

原创 应对节日高峰-Web架构实践

今天要分享的主题是关于QQ会员活动运营平台的架构实践。首先做一个简单的自我介绍,我叫徐汉彬,现在在腾讯的SNG增值产品部工作,主要负责QQ会员生活特权以及今天分享的AMS系统的研发建设。今天我要分享的内容主要分为三部分:QQ增值业务在海量请求下的技术挑战以及背景; Web系统高并发场景的综合优化策略; 平台高可用的建设实践。活动有很多特性,今天的主题主要关注点是在节假日高流量的推广,...

2017-03-16 22:27:04 1534

原创 日请求亿级的QQ会员AMS平台PHP7升级实践

QQ会员活动运营平台(AMS),是QQ会员增值运营业务的重要载体之一,承担海量活动运营的Web系统。AMS是一个主要采用PHP语言实现的活动运营平台, CGI日请求3亿左右,高峰期达到8亿。然而,在之前比较长的一段时间里,我们都采用了比较老旧的基础软件版本,就是PHP5.2+Apache2.0(2008年的技术)。尤其从去年开始,随着AMS业务随着QQ会员增值业务的快速增长,性能压力日益变大。...

2017-03-16 22:27:01 1573

原创 亿级Web系统的容错性建设实践

三年多前,我在腾讯负责的活动运营系统,因为业务流量规模的数倍增长,系统出现了各种各样的异常,当时,作为开发的我,7*24小时地没日没夜处理告警,周末和凌晨也经常上线,疲于奔命。后来,当时的老领导对我说:你不能总扮演一个“救火队长”的角色,要尝试从系统整体层面思考产生问题的根本原因,然后推进解决。我幡然醒悟,“火”是永远救不完的,让系统能够自动”灭火”,才是解决问题的正确方向。简而言之,系统的...

2017-03-16 22:26:58 1441

原创 QQ会员活动运营平台架构设计实践——高效自动化运营

QQ会员活动运营平台(AMS),是QQ会员增值运营业务的重要载体之一,承担海量活动运营的Web系统。在过去四年的时间里,AMS日请求量从200-500万的阶段,一直增长到日请求3-5亿,最高CGI日请求达到8亿。在这个过程中,AMS在架构方面发生了大幅度的调整和变迁,我们走过了一段非常难忘的技术历程。本文将会分享QQ会员活动运营平台的架构设计实践,希望对做技术的同学有所帮助。一、海量活...

2017-03-16 22:26:55 6755 1

原创 高并发Web网站构建和安全防护(基础知识分享)

在CSDN学院的“攒课”上做的网络直播分享,关于网站搭建和安全防护的基础知识。http://huiyi.csdn.net/activity/closed?project_id=2545PPT地址:http://vdisk.weibo.com/s/i-lxxvN3Je_h/1447058247

2017-03-16 22:26:49 1232

原创 PHP函数sem_get引起的“No space lelf on device”问题解决记录

1. 问题表现:接收到告警,部分接口异常。2. 问题追查:首先,机器日志中忽然出现很多的flow_lock Faild to create semaphore的错误。追查系统中的代码实现后,发现是sem_get函数引起,该函数用于根据一个key值来获取一个系统System V信号量的引用。代码位置:我单独在指定机器上执行上述语句,发现了Warning信息:No space lelf on devi

2017-03-16 22:26:46 1602

原创 PHP7革新与性能优化

有幸参与2015年的PHP技术峰会(PHPCON),听了鸟哥(惠新宸)的关于PHP7的新特性和性能优化的分享,一切都令人感到激动。鸟哥是国内最权威的PHP专家,他的分享有很多非常有价值的东西,我通过整理分享的PPT和收集相关资料,整理为这篇解读性质的技术文章,希望能给做PHP开发的同学一些帮助。PHP已经走过了20年的历史,直到今天,PHP7都发布了RC版,据说,PHP7正式版应该会在2015...

2017-03-16 22:26:43 936

原创 PHP接入Protocol Buffer并且实现TCP的二进制流传输

我们这边是一个PHP的Web系统,需要新接入一个业务,是通过Protocol Buffer协议通信,而且只提供了一个C++的接入例子。 对于我们的PHP系统来说,除了接入Protocol Buffer之外,还需要处理二进制流的TCP传输通信,而PHP实际上并不太擅长做这些事情。PHP版本的Protocol Buffer接入,有官方的支持实现版本。Protocol Buffer for PH...

2017-03-16 22:26:40 3960 1

原创 HTTP/2:让Web服务更快[翻译]

HTTP/2 目标InternetEngineering Task Force (IETF)在2015年2月,批准了HTTP/2标准提案。对于HTTP协议来说,HTTP/1.1是1999年被批准成为标准的,而HTTP/2将会是这些年来首次的大更新。HTTP/2主要的目的是在兼容HTTP/1.1的协议的情况下,降低网络通信的延迟。换句话说,就是在保持原有的Web体系的情况下,让Web更快。

2017-03-16 22:26:37 691

原创 PHP7标量类型声明RFC[翻译]

一、总结该RFC建议添加4种新的标量类型声明:int,float,string和bool,这些类型声明将会和PHP原来的机制保持一致的用法。RFC更推荐给每一个PHP文件,添加一句新的可选指令(declare(strict_type=1);),让同一个PHP文件内的全部函数调用和语句返回,都有一个“严格约束”的标量类型声明检查。此外,在开启严格类型约束后,调用拓展或者PHP内置函数在参数解析失

2017-03-16 22:26:34 719

原创 高并发Web服务的演变——节约系统内存和CPU

一、越来越多的并发连接数现在的Web系统面对的并发连接数在近几年呈现指数增长,高并发成为了一种常态,给Web系统带来不小的挑战。以最简单粗暴的方式解决,就是增加Web系统的机器和升级硬件配置。虽然现在的硬件越来越便宜,但是一味地通过增加机器来解决并发量的增长,成本是非常高昂的。结合技术优化方案,才是更有效的解决方法。并发连接数为什么呈指数增长?实际上,从这几年的用户基数上看,这个数量并没有...

2017-03-16 22:26:31 1132

原创 Nginx的TCP负载均衡介绍

Nginx Plus的商业授权版开始具有TCP负载均衡的功能。从Nginx 1.7.7版本开始加入的,现在变成了一个商业收费版本,想要试用,需要在官网申请。也就是说,Nginx除了以前常用的HTTP负载均衡外,Nginx增加基于TCP协议实现的负载均衡方法。HTTP负载均衡,也就是我们通常所有“七层负载均衡”,工作在第七层“应用层”。而TCP负载均衡,就是我们通常所说的“四层负载均衡”,工作在“网

2017-03-16 22:26:28 316

原创 OProfile分析服务的瓶颈和CPU100%问题的利器

OProfile是一个非常好的工具,在Linux下分析一个软件或者服务的系统消耗和占用,进而辅助我们找到系统的瓶颈。例如,我们开启Oprofile在redis服务中,然后找到结果中redis耗时最多的几个函数,然后去了解这些函数是用在了什么地方,是否可以优化或者避免。Oprofile的安装流程网上很多,就不写了哈。我写了一个方面测试的shell脚本,在安装好Oprofile后,可以很方便地用来测试

2017-03-16 22:26:25 447

原创 Apache的三种MPM模式比较:prefork,worker,event

就最新版本的Web服务器Apache(版本是Apache 2.4.10,发布于2014年7月21日)来说,一共有三种稳定的MPM(Multi-Processing Module,多进程处理模块)模式。它们分别是prefork,worker和event,它们同时也代表这Apache的演变和发展。查看我们Apache的模式,可以使用httpd -V命令来查看: 1 2 3...

2017-03-16 22:26:22 2002

原创 PHP7和HHVM的性能之争介绍

本博文曾发于CSDN:【问底】徐汉彬:PHP7和HHVM的性能之争PHP语言的排名变化 根据“TIOBE编程语言排行榜”(榜单虽然统计方式有局限,但是仍然不失为一个比较好的参考),2010年PHP最高曾经在世界编程语言中排名第三。可见,PHP语言在PC互联网时代的Web领域可谓叱咤风云,擎天一柱。

2017-03-16 22:26:19 565

原创 Web系统大规模并发——电商秒杀与抢购

本博文曾发于CSDN【问底】徐汉彬:Web系统大规模并发——电商秒杀与抢购一、大规模并发带来的挑战 在过去的工作中,我曾经面对过5w每秒的高并发秒杀功能,在这个过程中,整个Web系统遇到了很多的问题和挑战。如果Web系统不做针对性的优化,会轻而易举地陷入到异常状态。我们现在一起来讨论下,优化的思路和方法哈。 1. 请求接口的合理设计一个秒杀或者抢购页面,通常分为2个

2017-03-16 22:26:17 468 1

原创 MongoDB, Cassandra, 和 HBase -- 三种NoSQL数据库比较(翻译)

英语原文:http://www.infoworld.com/article/2848722/nosql/mongodb-cassandra-hbase-three-nosql-databases-to-watch.htmlHadoop获得了许多大数据应用的信誉,但实际情况是,NoSQL数据库是一直处于更加广泛部署和更广泛的发展中的技术。尽管选择Hadoop作为应用存储,相对来说更直接简单。但是,

2017-03-16 22:26:14 1265

原创 PHP7性能全速前进(翻译)

英文原文链接:http://www.infoworld.com/article/2841561/php/php-7-moves-full-speed-ahead.html#tk.rss_infoworldtechwatch原文日期:2014年10月31日。PHP7 ,将会是PHP脚本语言的重大版本更新,同时将带来大幅的性能改进和新的特性,以及改进一些过时功能。该发布版本将会专注在性能加强,源自PH

2017-03-16 22:26:11 265

原创 亿级Web系统搭建——单机到分布式集群

当一个Web系统从日访问量10万逐步增长到1000万,甚至超过1亿的过程中,Web系统承受的压力会越来越大,在这个过程中,我们会遇到很多的问题。为了解决这些性能压力带来问题,我们需要在Web系统架构层面搭建多个层次的缓存机制。在不同的压力阶段,我们会遇到不同的问题,通过搭建不同的服务和架构来解决。Web负载均衡Web负载均衡(Load Balancing),简单地说就是给我们的服务器集群分配“工

2017-03-16 22:26:07 388

原创 大规模网站架构的缓存机制和几何分形学

缓存机制在我们的实际研发工作中,被极其广泛地应用,通过这些缓存机制来提升系统交互的效率。简单的总结来说,就是在两个环节或者系统之间,会引入一个cache/buffer做为提升整体效率的角色。 而有趣的是,这种缓存机制令人惊奇并且优美的遵循着“几何分形”的规律,也就是几何分形学中的“自相似性”:从整体上看遵循某种组成规律或者特性,同时从每一个局部看,仍然遵循某种组成的规律或者特性。我们的这些系统

2017-03-16 22:26:04 361

原创 snappy压缩工具的PHP拓展版本介绍[译]

snappy是一个字符串压缩工具,应用挺广泛和便利,下面这个是这个压缩组件的PHP拓展版本。我们有在项目中使用,感觉还是挺不错的一个功能。压缩率大概在50%多。下载地址:https://github.com/kjdev/php-ext-snappy下面的解释来自官方github(加了一点翻译,辅助大家理解哈):Build(编译方式)phpize./configuremakemake install

2017-03-16 22:26:02 584

原创 单点登录SSO的实现原理 (转)

单点登录SSO(Single Sign On)说得简单点就是在一个多系统共存的环境下,用户在一处登录后,就不用在其他系统中登录,也就是用户的一次登录能得到其他所有系统的信任。单点登录在大型网站里使用得非常频繁,例如像阿里巴巴这样的网站,在网站的背后是成百上千的子系统,用户一次操作或交易可能涉及到几十个子系统的协作,如果每个子系统都需要用户认证,不仅用户会疯掉,各子系统也会为这种重复认证授权的逻辑搞

2017-03-16 22:25:59 411

原创 PHP语言的革新----PHP7和HHVM

最近在微博上看见PHP的开发者发布的微博(@Laruence),PHP7很可能在明年出来,同时会伴随着很多底层的优化。这真是一个重磅的消息!PHP的发展又将翻开新的一页了。而目前的PHP5.6 release,就是PHP5系列的最后一个版本了。可能会有人感到奇怪,为什么没有PHP6,PHP的开发者也回答了这个问题,是因为中途夭折了。而里面提到的最重要的东西,就是PHPNG(下一代官方版PHP的核心

2017-03-16 22:25:56 464

原创 SPDY:一种更快速web的实验协议(转)

背景:网络协议与网络延时现在,HTTP和TCP是web的两种协议。TCP是一般的,可靠的传输层协议,能够提供可靠的传输,避免出错,按顺序传输,流量控制,冲突避免以及其他的传输特性。而HTTP是一种应用层协议,提供记本的连接、响应语法。我们可能有机会在传输层提高延时性能,但是我们最开始的调查还是关注在应用层,即HTTP。不幸的是,HTTP并不是为了时延而设计的。进一步说,现在的网页传输与10年前的网

2017-03-16 22:25:53 511

原创 PHP性能优化工具–xhprof

安装说明1.获取xhprof可以输入网址直接下载,或者wget#wget http://pecl.php.net/get/xhprof-0.9.4.tgz#tar zxf xhprof-0.9.4.tgz2.编译安装#./configure –with-php-config=/usr/bin/php-config#make && make install3.配置php.ini在php的配置文件后面

2017-03-16 22:25:50 412

原创 配置Nginx方向代理后,php获取客户端真实IP

nginx反向代理后,在应用中取得的ip都是反向代理服务器的ip,取得的域名也是反向代理配置的url的域名,解决该问题,需要在nginx反向代理配置中添加一些配置信息,目的将客户端的真实ip和域名传递到应用程序中。nginx反向代理配置时,一般会添加下面的配置:proxy_set_header Host $host;proxy_set_header X-Real-IP $remote_addr;p

2017-03-16 22:25:47 1833 2

原创 PHP的zend opcache使用和配置方法

Zend Opcache 是鸟哥写的一个PHP中间字节码opcode缓存拓展,后来被纳入到官方的版本中。PHP在执行执行的过程中,会先去解析PHP代码,生成opcode,然后Zend引擎读取opcode解释并且执行。为了解决每次都重复生成opcode,因此通过这个方案来缓存opcode。Zend Opcache 是PHP 5.5+ 自带的, 大家知道目前PHP的缓存插件一般有三个:APC、eAcc

2017-03-16 22:25:44 2046

原创 关于Javascript – length 怪谈

先来个最普通的例子:Var str = “aaa”;Alert(str.length);//output: 3Var arr = [‘a’,’a’,’a’];Alert(arr.length);//output:3 对于length都熟悉不过了,不就是获取字符串的长度或数组的个数,有什么好说的呢。好了,来个奇怪的: Var a = “aaa”;Alert(a.toString().length);

2017-03-16 22:25:41 686 1

原创 PHP的date函数中\"YW\"自然周计算错误问题

今天维护的一个系统,突然有人告诉我,系统的周限制失效了。而实际上,这一块代码,我们并没有什么变动,感到很奇怪。于是去追了一下,发现周限制真的失效了。查看代码,发现Date("Ym", time())这句代码获取的week(1年终的第几周,获取的数值有问题),然后发现这周刚刚好是1年中的最后一周(2013年12月30日)。于是在官网查看了Date相关的函数来源W字符追加与PHP4.1版本。但是,这里

2017-03-16 22:25:39 2542

原创 搭建无线测试和调试环境(使用无线网卡配置wifi热点)

1. 搭建wifi热点准备一个无线网卡,安装驱动(很多无限网卡有自带的驱动管理工具,可以选择一并安装,里面有自带的wifi热点设置功能,非常便利,不需要自己再重复配置)如果没有自带的创建热点工具,则选择自己建立,方法:在win7上,我们可以使用无线承载网络来搭建wifi热点解决这个问题,你可以在cmd下使用netsh wlan show drivers命令来检测你的系统是否支持这种方式,确认支持后

2017-03-16 22:25:36 2240

原创 历史在重演:从KHTML到WebKit,再到Blink(转)

上周四,Google宣布从WebKit 分支出自己的浏览器渲染引擎 Blink。很多人觉得这像是晴天霹雳,或者甚至是迟到的愚人节笑话,但是其实这件事情是难以避免的,而且是历史的重演。什么是WebKit?它到底是谁的?WebKit 是一个开源的浏览器引擎。它的前身是 KDE 在 1998 年开发的排版引擎 KHTML,最初用于 Linux 和 Unix 等开源操作系统。当时苹果觉得需要开发自己的浏览

2017-03-16 22:25:33 1314

原创 浏览器内部工作原理(转)

目录  一、介绍  二、渲染引擎  三、解析与DOM树构建  四、渲染树构建  五、布局  六、绘制  七、动态变化  八、渲染引擎的线程  九、CSS2可视模型  英文原文:How Browsers Work: Behind the Scenes of Modern Web Browsers  一、介绍  浏览器可以被认为是使用最广泛的软件,本文将介绍浏览器的工作原理,我们将看到,从你在地址栏输

2017-03-16 22:25:30 291

原创 JS和后端CGI漏洞注意点

JS部分:1、对插入DOM中的URL参数做HTML编码处理(qv.string.encodeJs(实现中)qv.string.encodeHTML)。2、对需要作为脚本执行的URL参数做特殊处理,需要将不可信内容做如下的转码: [a-zA-Z0-9.-_,]以及ASC值大于0x80之外的所有字符转化为\x**这种形式3、对跳转目标URL做验证处理,保证目的地址是合法的。4、对CGI请求加上toke

2017-03-16 22:25:27 1079

原创 Apache+PHP环境上传大文件的相关配置选项(转)

Apache+PHP环境上传大文件的相关配置选项近期在做一个基于LAMP体系的项目,在系统测试阶段发现了Apache+PHP无法成功上传大文件的问题,于是百度、google一顿搜后,发现原来是PHP配置的原因。这里记录水文一篇,留作日后遇到类似问题参考使用,避免二次检索做无用功。首先,需要根据允许上传的最大文件大小值(如32M),对php.ini中的如下参数进行配置:file_uploads = 

2017-03-16 22:25:24 510

原创 日请求亿级的QQ会员AMS平台PHP7升级实践

注:这里所提到的IE是指的“IE7及以下版本的”。你有没有遇到过定义为block的a的范围在IE7及以下版本中是没办法点击的,即点击范围是0?你所设置的a样式是不是这样:1. 绝对定位;2. 内容为空。还有另外一种情况是,你设置的a为block,并且设定了height和width,但实际上,有可点击的地方,但是可点击范围却不是你预想的,即范围是小于这个height和width。那你所设置的a样式是

2017-03-16 22:25:21 336

原创 Javascript代码在压缩精简时格式注意点

对于一些不规范的js编码格式存在处理出错的情况,会导致精简后的js文件丢代码,开发人员务必避免以下不规范的js写法:1.  JS中的正则表达式前后未加引号2.  一行的结束没有加分号3.  文件的换行符用的是\r(Mac系统)而非\r\n(windows系统)或者\n(Unix系统)4.  if() 后面的语句没有加{ }5.  双引号中的单引号加了转义符\6.  注释代码时使用了,应该用/* *

2017-03-16 22:25:18 537

原创 在IE下包含锚点和Flash元素title也被追加锚点的问题解决(转)

在IE下包含锚点和Flash元素title也被追加锚点的问题解决的方法,如下在IE中,如果一个页面的路径包含锚点如(#demo),同时页面包含flash元素。那么当flash加载的时候,就会把页面的title(document.title)改变,变成为 “原title#锚点”。如果有多个Flash就会更麻烦,变成“原title#锚点#锚点#锚点#锚点”。解决方法如下:var originalTit

2017-03-16 22:25:15 594

原创 跨域访问的解决方式

即域名、协议、端口,三者中若有一个不相同,则会出现跨域问题。--------------------------------------------------------------------------------解决方法:1、设置document.domain属性(适合同一主域下不同子域间的通信)对于主域相同而子域不同的情况(上述表格6),可以通过修改document的domain属性来解

2017-03-16 22:25:12 306

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除