得一8GB内存服务器便肆无忌惮使用redis缓存

开始把软件部署到新的设备中。主要是看上CPU和磁盘IOPS都比之前使用的辣鸡设备强很多。尤其是磁盘,有了Raid10的支持。稍微测试了一下比原来的性能高3~4倍甚至更多。而且整个软件好像并没有做线程的设计,再感觉Python对CPU的要求又比较高。不知道是不是程序哪里的问题,反正,并没有预期的运行快。早在年初便想聊聊django cache的了。无奈,直到现在才稍微能写得出手,都是因为你笨啊。 继续阅读得一8GB内存服务器便肆无忌惮使用redis缓存

linux下释放内存的方法

VPS中搭建的WEB服务器,运行的时间长了,内存的使用就占用越来越高,对于小内存的VPS可能就直接使用了SWAP分区,从而影响到了系统应用程序的性能。下面是一个非常简单的清理linux内存的脚本,只要放入crontab计划任务里面定时执行就可以定期清理你的Linux服务器内存了。

#!/bin/bash
#Data is written to the disk cache
sync
#Clean Page Cache
echo 1 > /proc/sys/vm/drop_caches
sync
#Clean All Cache
echo 3 > /proc/sys/vm/drop_caches

其中/proc/sys/vm/drop_caches中的值有4个,分别为0-3:

0 – 不释放
1 – 释放页缓存
2 – 释放dentries和inodes
3 – 释放所有缓存

编写脚本并赋予脚本可执行权限放入crontab里面定期执行:

clean your linux server memory cachetest clean your linux server memory cache

使用腾讯云到现在已经快两个月,如今,此Linux Web服务器上的环境瓶颈大概就在MariaDB数据库中。其他性能都优化到差不多了。

已经使用memcache加速wordpress

今晚整出了个用memcache加速wordpress网站来,看右下角吧,回顶部已经有了,用的是百度置顶。很久没打开网站统计了。换了域名就要换统计代码。结果在里面发现了多了个应用中心,包含有:置顶工具/百度推荐/专题推送等等应用,话说就是多加载了一个js可以实现了。挺不错的感觉。
memcached的安装在CentOS6.3下直接用yum安装还是挺简单的,能用就行,重要的是好用。安装了memcached之后还要安装memcache的PHP扩展。这里就说下memcache安装php扩展好了。

安装memcached:yum -y install memcached
安装完成之后直接用 service memcached start 启动即可
检查启动与否可以使用:lsof -n | grep memcached

安装php扩展:

cd /usr/local/src
wget http://pecl.php.net/get/memcache-2.2.7.tgz
tar zxf memcache-2.2.7.tgz
cd memcache-2.2.7
/data/app/php5/bin/phpize
make && make install
正常安装完成后会生成扩展目录的,eg:
/data/app/php5/lib/php/extensions/no-debug-zts-20121212/ 的一串目录路径
添加php加载memcache的库文件:
vi /etc/php.ini
my wordpress site enabled memcache然后重启php-fpm即可加载。检查是否加载可以在phpinfo信息页里搜索是否有memcache扩展。

wordpress添加memcache缓存插件:

下载 WordPress Memcached 缓存插件:http://wordpress.org/extend/plugins/memcached/ ;
WordPress 会自动检查在 wp-content 目录下是否有 object-cache.php 文件,如果有,
直接调用它作为 WordPress 对象缓存机制。(Note:该文件放在目录 wp-content下,不是插件目录)

最后经过测试,速度确实提升了点,经过站长工具的SEO综合查询需要加载 421ms。之前一直都是在500ms-700ms之间的。比起使用wp-super-cache还是相差很远,但我不喜欢使用它来缓存。
test my site speed only 421ms

CentOS6.3编译安装redis

先不说别的吧,最近你们使用GoAgent翻墙还顺利吗?

Redis是一个key-value存储系统。Redis是一个开源、支持网络、基于内存、键值对存储数据库,使用ANSI C编写。和Memcached类似,但和Memcached最大的区别就是一个只是暂时缓存,一个是可以永久缓存,至少我的理解是这样的哈。我也刚刚开始接触,希望各位友友指点。

下面就来安装Redis试试看,

环境:CentOS release 6.3 (Final)+Redis-2.8.10

cd /usr/local/src
wget http://download.redis.io/releases/redis-2.8.10.tar.gz
tar zxf redis-2.8.10.tar.gz
cd redis-2.8.10
make && make install

下面是编译时候默认 make 的部分配置情况:

make your redis sources package configuration

复制配置文件到 /etc 目录下,编辑配置文件 vi /etc/redis.conf 修改以下配置内容

修改 daemonize no为 daemonize yes  ------->以守护进程运行
修改 dir ./ 为 dir /usr/local   ------->此为Redis编译安装时候的默认目录
修改 appendonly no 为 appendonly yes  --------->是否在每次更新操作后进行日志记录

启动redis: redis-server /etc/redis.conf 即可。

查看redis运行状况: lsof -n | grep redis 或者 lsof -i:6379

如下图等等方式都是可以查看redis运行状况的。

show redis status

到此,Redis编译安装已经完成。

下面简单测试Redis服务器运行和关闭已经自动启动:

redis-cli set fucking you

redis-cli get fucking

test the redis service

Linux Centos部署memcache

MemCache是高性能的分布式的内存对象缓存系统,这里不多解说。不知道可以引擎里面找MemCache查阅百度百科说法。下面只有简单说下在CentOS下搭建memcache缓存服务器。

MemCache原理:Memcache工作原理:当client通过WEB写入数据的时候,WEB会同时将数据写入到Memcache Server和MySQL Server中;当Client通过WEB读取数据的时候,WEB服务器先向Memcache服务器查询有没有用户查询的数据,若没有就向MySQL服务器查询,由MySQL服务器直接返回数据给用户,同时MySQL服务器将数据写入Memcache服务器,以便用户下次查询直接返回!(这原理仅代表本人看法,如有不对之处。欢迎指点。)

Memcache
Memcache原理图

最近比较忙,有空进行不全…..