企鹅漫步

关注数据库,分布式,缓存,系统架构

libevent使用

1.安装libevent 安装libebent省略 2.使用libevent高性能io框架库#include <sys/signal.h> #include <event.h>void signal_cb(int fd, short event, void* argc)...

2016-11-14 10:26:58

阅读数 387

评论数 0

Linux中的EAGAIN含义

在Linux环境下开发经常会碰到很多错误(设置errno),其中EAGAIN是其中比较常见的一个错误(比如用在非阻塞操作中)。 从字面上来看,是提示再试一次。这个错误经常出现在当应用程序进行一些非阻塞(non-blocking)操作(对文件或socket)的时候。例如,以 O_NONBL...

2016-11-03 17:35:29

阅读数 459

评论数 0

poll()函数详解

poll提供的功能与select类似,不过在处理流设备时,它能够提供额外的信息。 #include <poll.h>int poll(struct pollfd fd[], nfds_t nfds, int timeout);  参数:   1)第一个参数:一个结构数组,struc...

2016-11-03 17:33:56

阅读数 465

评论数 0

配置vim读php源代码

1.安装ctags 下载源码: ./configure make && make install 2.配置vim vi ~/.vimrc “=================================================================...

2016-11-03 11:50:46

阅读数 497

评论数 0

深入理解Python生成器(Generator)

我们可以通过列表生成式简单直接地创建一个列表,但是受到内存限制,列表容量肯定是有限的。而且,创建一个包含100万个元素的列表,不仅占 我们可以通过列表生成式简单直接地创建一个列表,但是受到内存限制,列表容量肯定是有限的。而且,创建一个包含100万个元素的列表,不仅占用很大的存储空间,而且如果我们...

2016-10-28 14:39:15

阅读数 554

评论数 0

php生命周期和Zend引擎

一切的开始: SAPI接口SAPI(Server Application Programming Interface)指的是PHP具体应用的编程接口, 就像PC一样,无论安装哪些操作系统,只要满足了PC的接口规范都可以在PC上正常运行, PHP脚本要执行有很多种方式,通过Web服务器,或者直接在命...

2016-10-24 17:10:31

阅读数 429

评论数 0

高流量站点NGINX与PHP-fpm配置优化

将TCP切换为UNIX域套接字 UNIX域套接字相比TCP套接字在loopback接口上能提供更好的性能(更少的数据拷贝和上下文切换)。但有一点需要牢记:仅运行在同一台服务器上的程序可以访问UNIX域套接字(显然没有网络支持)。upstream backend { # UNIX dom...

2016-10-18 17:54:10

阅读数 412

评论数 0

在线修改MySQL大表的表结构

由于某个临时需求,需要给在线MySQL的某个超过千万的表增加一个字段。此表在设计之时完全按照需求实现,并没有多余的保留字段。 我们知道在MySQL中如果要执行ALTER TABLE操作,MySQL会通过制作原来表的一个临时副本来工作。对于表结构的修改在副本上施行,然后将新表替换原始表,此时会产生...

2016-10-14 15:19:04

阅读数 579

评论数 0

mysql主从同步延迟分析

一、MySQL数据库主从同步延迟 要了解MySQL数据库主从同步延迟原理,我们先从MySQL的数据库主从复制原理说起:MySQL的主从复制都是单线程的操作,主库对所有DDL和DML产生的日志写进binlog,由于binlog是顺序写,所以效率很高。Slave的IO Thread线程从主库中bin...

2016-10-14 15:16:32

阅读数 325

评论数 0

什么是持续集成?持续交付?持续部署?

一、概念持续集成指的是,频繁地(一天多次)将代码集成到主干。它的好处主要有两个。(1)快速发现错误。每完成一点更新,就集成到主干,可以快速发现错误,定位错误也比较容易。 (2)防止分支大幅偏离主干。如果不是经常集成,主干又在不断更新,会导致以后集成的难度变大,甚至难以集成。持续集成的目的,就是让...

2016-09-22 10:33:59

阅读数 1726

评论数 0

rsync 的核心算法

rsync是unix/linux下同步文件的一个高效算法,它能同步更新两处计算机的文件与目录,并适当利用查找文件中的不同块以减少数据传输。rsync中一项与其他大部分类似程序或协定中所未见的重要特性是镜像是只对有变更的部分进行传送。rsync可拷贝/显示目录属性,以及拷贝文件,并可选择性的压缩以及...

2016-09-07 16:52:44

阅读数 226

评论数 0

数据库分表后,并发环境下,生成全局id生成的几种方式

1.使用redis锁机制 在 Redis 里,所谓 SETNX,是「SET if Not eXists」的缩写,也就是只有不存在的时候才设置,可以利用它来实现锁的效果,不过很多人没有意识到 SETNX 有陷阱!比如说:某个查询数据库的接口,因为调用量比较大,所以加了缓存,并设定缓存过期后刷新,问...

2016-09-06 10:48:41

阅读数 406

评论数 0

linux使用flock文件锁解决crontab冲突问题

flock命令提供了文件锁的功能。命令参数如下:1 2 3 4 5 6 7 8 9 10 11 12 13 [hailong@vhost ~]$ flock -h flock (util-linux 2.13-pre7) Usage: flock [-sxun][-w...

2016-09-05 19:12:40

阅读数 1313

评论数 0

动态修改php的配置项

我们一般修改php的配置项都是在php.ini中修改。在php,ini中的修改会影响到所有使用php的程序。假如我想让修改只在某个域名下生效,该如何做呢?使用ini_set() 首先想到的可能是使用ini_set()方法在脚本中修改。但是这个只能修改作用域为PHP_INI_USER和PHP_IN...

2016-09-05 19:10:36

阅读数 624

评论数 0

几种流行的hash函数

A comprehensive collection of hash functions, a hash visualiser and some test results [see Mckenzie et al. Selecting a Hashing Algorithm, SP&E 20...

2016-08-26 16:58:55

阅读数 1263

评论数 0

memcached hash一致性算法

<?php/* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates...

2016-08-04 15:28:16

阅读数 313

评论数 0

用这四种套路更新缓存,你会少走很多弯路!

看到好些人在写更新缓存数据代码时,先删除缓存,然后再更新数据库,而后续的操作会把数据再装载的缓存中。然而,这个是逻辑是错误的。试想,两个并发操作,一个是更新操作,另一个是查询操作,更新操作删除缓存后,查询操作没有命中缓存,先把老数据读出来后放到缓存中,然后更新操作更新了数据库。于是,在缓存中的数据...

2016-08-02 11:10:46

阅读数 2691

评论数 0

数据缓存的几种方式

引入缓存可以提高性能,但是数据会存在两份,一份在数据库中,一份在缓存中,如果更新其中任何一份会引起数据的不一致,数据的完整性被破坏了,因此,同步数据库和缓存的这两份数据就非常重要。本文介绍常见的缓存更新的同步策略。 预留缓存Cache-aside   应用代码能够手工管理数据库和缓存中...

2016-07-25 12:07:01

阅读数 6270

评论数 0

让PHP7达到最高性能的几个Tips

1. Opcache 记得启用Zend Opcache, 因为PHP7即使不启用Opcache速度也比PHP-5.6启用了Opcache快, 所以之前测试时期就发生了有人一直没有启用Opcache的事情. 启用Opcache非常简单, 在php.ini配置文件中加入: zend_extensi...

2016-07-22 15:32:19

阅读数 1227

评论数 0

php更快的hugepage

PHP7刚刚发布了RC4, 包含一些bug修复和一个我们最新的性能提升成果(NEWS), 那就是”HugePageFy PHP TEXT segment”, 通过启用这个特性,PHP7会把自身的TEXT段(执行体)”挪“到Huagepage上,之前的测试,我们能稳定的在Wordpress上看到2...

2016-07-22 15:16:15

阅读数 336

评论数 0

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