LINUX

wordpress启动Redis缓存加速

Redis是一个高级的key-value存储系统,类似memcached,所有内容都存在内存中,因此每秒钟可以超过10万次GET操作。 我下面提出的解决方案是在Redis中缓存所有输出的HTML 内容而无需再让WordPress重复执行页面脚本。这里使用Redis代替Varnish设置简单,而且可能更快。 和memcache一样redis也分客户端(php插件)和服务端 安装Redis服务端 参考://blog.linuxeye.com/308.html 安装Redis php客户端 cd /root/lnmp/src wget http://pecl.php.net/get/redis-2.2.3.tgz tar xzf redis-2.2.3.tgz cd redis-2.2.3 /usr/local/php/bi ...

TCMalloc优化MySQL、Nginx、Redis内存管理

TCMalloc(Thread-Caching Malloc)与标准glibc库的malloc实现一样的功能,但是TCMalloc在效率和速度效率都比标准malloc高很多。TCMalloc是google-perftools工具中的一个(gperftools四个工具分别是:TCMalloc、heap-checker、heap-profiler和cpu-profiler),这个工具是开源的,以源码形式发布。如果觉得自己维护一个内存分配器麻烦的话,可以考虑将TCMalloc静态库连接到你的程序中。使用的时候和glibc中的malloc调用方式一模一样。你需要做的只是把TCMalloc的动态库或者静态库连接进你的程序中,你就可以获得一个高效,快速,安 ...

jemalloc优化MySQL、Nginx内存管理

  jemalloc源于Jason Evans 2006年在BSDcan conference发表的论文:《A Scalable Concurrent malloc Implementation for FreeBSD》。jason认为phkmalloc(FreeBSD’s previous malloc implementation by Kamp (1998))没有考虑多处理器的情况,因此在多线程并发下性能低下(事实如此),而jemalloc适合多线程下内存分配管理。从2007年开始以FreeBSD标准引进来。软件技术革新很多是FreeBSD发起,在FreeBSD应用广泛的技术会慢慢导入到Linux中。 Redis 2.4版本之后,默认使用jemalloc来做内存管理;tengine也整合jemalloc。jemall ...

PHP网站简单架构 – 单独跑php-fpm

这个架构比较简单,不做过多的说明 前端1台Nginx:负载均衡+nfs 中间2台php:php-fpm 后端1台数据库:MySQL 192.168.112安装Tengine 192.168.1.113/192.168.1.115安装php 192.168.1.114安装MySQL nfs配置 nfs服务端:192.168.1.112 检查nfs否已安装,这里我已经都安装了。 [root@linux2 ~]# rpm -qa | grep nfs nfs-utils-1.0.9-66.el5 nfs-utils-lib-1.0.8-7.9.el5 [root@linux2 ~]# rpm -qa | grep portmap portmap-4.0-65.2.2.1 如果你检查发现没有安装,可以使用一下命令进行安装; yum -y install nfs-utils portmap ca ...

Varnish – 高性能http加速器

Varnish – 高性能http加速器 Varnish是一款高性能且开源的反向代理服务器和http加速器。与传统的Squid相比,Varnish具有性能更高、速度更快、管理更方便等诸多优点。作者Poul-Henning Kamp是FreeBSD的内核开发者之一。Varnish采用全新的软件体系架构,和现在的硬件提交配合紧密。在1975年时,储存媒介只有两种:内存与硬盘。但现在计算 机系统的内存除了主存外,还包括了cpu内的L1、L2,甚至有L3快取。硬盘上也有自己的快取装置,因此squid cache自行处理物件替换的架构不可能得知这些情况而做到最佳化,但操作系统可以得知这些情 ...

深入理解PHP Opcode缓存原理

什么是opcode缓存? 当解释器完成对脚本代码的分析后,便将它们生成可以直接运行的中间代码,也称为操作码(Operate Code,opcode)。Opcode cache的目地是避免重复编译,减少CPU和内存开销。如果动态内容的性能瓶颈不在于CPU和内存,而在于I/O操作,比如数据库查询带来的磁盘I/O开销,那么opcode cache的性能提升是非常有限的。但是既然opcode cache能带来CPU和内存开销的降低,这总归是好事。 现代操作码缓存器(Optimizer+,APC2.0+,其他)使用共享内存进行存储,并且可以直接从中执行文件,而不用在执行前“反序列化”代码。 ...

浅谈Linux内存管理机制

经常遇到一些刚接触Linux的新手会问内存占用怎么那么多? 在Linux中经常发现空闲内存很少,似乎所有的内存都被系统占用了,表面感觉是内存不够用了,其实不然。这是Linux内存管理的一个优秀特性,在这方面,区别于Windows的内存管理。主要特点是,无论物理内存有多大,Linux 都将其充份利用,将一些程序调用过的硬盘数据读入内存,利用内存读写的高速特性来提高Linux系统的数据访问性能。而Windows是只在需要内存时,才为应用程序分配内存,并不能充分利用大容量的内存空间。换句话说,每增加一些物理内存,Linux都将能充分利用 ...

MySQL性能调优my.cnf详解

MySQL性能调优my.cnf详解 提供一个MySQL 5.6版本适合在1GB内存VPS上的my.cnf配置文件(点击这里下载文件): [client] port = 3306 socket = /tmp/mysql.sock [mysqld] port = 3306 socket = /tmp/mysql.sock basedir = /usr/local/mysql datadir = /data/mysql pid-file = /data/mysql/mysql.pid user = mysql bind-address = 0.0.0.0 server-id = 1 #表示是本机的序号为1,一般来讲就是master的意思 skip-name-resolve # 禁止MySQL对外部连接进行DNS解析,使用这一选项可以消除MySQL进行DNS解析的时间。但需要注意,如果开 ...

php-fpm参数优化

php-fpm进程设置多少合适,设成动态还是静态? 下面是摘自Google讨论话题:《 PHP-FPM on highload tips 》[墙外,翻墙可参考goagent]。 When you running a highload website with PHP-FPM via FastCGI, the following tips may be useful to you 如果你的高负载网站使用PHP-FPM管理FastCGI,也许下面这些技巧对你有用 1. Compile PHP’s modules as less as possible, the simple the best (fast); 尽量少安装PHP模块,最简单是最好(快)的 2. Increas PHP FastCGI child number to 100 and even more. Sometime, 200 is ...

Linux网络相关查询脚本

1. 查看TCP连接状态 netstat -nat |awk '{print $6}'|sort|uniq -c|sort -rn netstat -n | awk '/^tcp/ {++S[$NF]};END {for(a in S) print a, S[a]}' 或 netstat -n | awk '/^tcp/ {++state[$NF]}; END {for(key in state) print key,"\t",state[key]}' netstat -n | awk '/^tcp/ {++arr[$NF]};END {for(k in arr) print k,"\t",arr[k]}' netstat -n |awk '/^tcp/ {print $NF}'|sort|uniq -c|sort -rn netstat -ant | awk '{print $NF}' | grep -v '[a-z]' | sort | uniq -c (以上每一行实现的效果基本相同,在此列出不同 ...