varnish作为缓存服务提供者,本身没有内容,所有内容都是从后端的服务器或其它缓存服务器上取过来的。当varnish收到这些内容之后,需要根椐一定的策略确定是否缓存它,如果需要缓存,还需要确定可以缓存的时间。
分类目录归档:系统调优
告别Squid2.7.x,迎接squid3.1.19吧!
最近半年以来客户的squid经常响应时间过长,清理缓存后又恢复如初。几经折腾太伤不起了,昨天安装了varnish-3.0.2运行了一天。今天上午在两台测试机上又测试了squid3.1.19,结果太让人兴奋了!squid3.1.19的rps是squid2.7.x的1倍!惊人! 继续阅读
insert大量数据经验之谈
insert大量数据经验之谈
在很多时候,我们会需要对一个表进行插入大量的数据,并且希望在尽可能短的时间内完成该工作,这里,和大家分享下我平时在做大量数据insert的一些经验。
前提:在做insert数据之前,如果是非生产环境,请将表的索引和约束去掉,待insert完成后再建索引和约束。 继续阅读
xcache加速php减少cpu负载
最近1vps服务器php比较消耗cpu,导致负载有点升高。加上xcache过后效果非常不错。
1. wget http://xcache.lighttpd.net/pub/Releases/1.3.2/xcache-1.3.2.tar.gz
2.tar xx.tar.gz
3.cd xx && xxx/bin/phpize && ./configure –enable-xcache –with-php-config=/opt/php5/bin/php-config
4.php.ini装载xcache模块
xcache.admin.enable_auth = On xcache.admin.user = "admin" ; xcache.admin.pass = md5($your_password) xcache.admin.pass = "21232f297a57a5a743894a0e4a801fc3" xcache.shm_scheme = "mmap" xcache.size = 64M xcache.count = 8 xcache.slots = 8K xcache.ttl = 0 xcache.gc_interval = 0 xcache.var_size = 16M xcache.var_count = 1 xcache.var_slots = 8K xcache.var_ttl = 0 xcache.var_maxttl = 0 xcache.var_gc_interval = 300 xcache.test = Off xcache.readonly_protection = Off xcache.mmap_path = "/dev/zero" xcache.coredump_directory = "" xcache.cacher = On xcache.stat = On xcache.optimizer = Off xcache.coverager = Off xcache.coveragedump_directory = ""
降低cpu负载效果非常不错!
nginx压缩传送的两种方式
nginx gzip静态传送
nginx有两种gzip方式,一种是动态,一种是静态方式。
1.动态方式就是,客户端请求的时候服务器才压缩传送
2.静态方式是服务器端提前使用gzip手工压缩js成xx.js.gz传送压缩包到客户端。客户端根据Content-Encoding gzip头进行解压
动态配置是:
gzip_static on;
gzip on;
gzip_min_length 1000;
gzip_proxied any;
gzip_types text/plain application/x-javascript text/css;
gzip_proxied expired no-cache no-store private auth;
静态配置是:
增加 mime.types
application/x-javascript js js.gz;
然后增加nginx配置
location ~ .*\.(js.gz)?$
{
root /home/www;
add_header Content-Encoding gzip;
gzip off;
}
nginx要修改两处,在虚拟主机配置段中添加:
location ~* ^.+.gzjs$ {
add_header Content-Encoding gzip;
gzip off;
}
上面还要增加root目录,否则直接404
另外再修改nginx的mime文件,在application/x-javascript js;中添加gzjs
application/x-javascript js gzjs;
网络性能增强RPS介绍
Receive packet steering介绍
Receive packet steering简称rps,是google贡献给linux kernel的一个patch,主要的功能是解决多核情况下,网络协议栈的软中断的负载均衡。这里的负载均衡也就是指能够将软中断均衡的放在不同的cpu核心上运行。 继续阅读
vm.swappiness禁用swap分区对性能的提升
wappiness
centos默认的vm.swappiness值是60,这一默认值已经很合适了。但你可以改小一些降低swap的加载,系统性能会有提升。
cat /proc/sys/vm/swappiness
你会看到值是60, 更改:
sysctl vm.swappiness=10
这样你就将值由60改为10,这可以大大降低系统对于swap的写入,建议内存为512m或更多的朋友采用此方法。
如你你发现你对于swap的使用极少,可以将值设为0。这并不会禁止你对swap的使用,而是使你的系统对于swap的写入尽可能的少,同时尽可能多的使用你的实际内存。
这对于你在切换应用程序 时有着巨大的作用,因为这样的话它们是在物理内存而非swap分区中。
如果你想永久得改变这一值,你需要更改 sysctl.conf 文件:
添加:
vm.swappiness=10
到末行,需要重启生效。
在大内存服务器中我们需要设置这个值为0,尤其是在Mysql服务器上。
oom_killer与内存管理策略
oom_killer 默认配置下,当没有内存可以用而又要用到内存时,Linux内核的oom_killer(out of memory killer)会扫描一遍占用内存最多的程序(可能有多个),并把它们结束掉。 继续阅读
关于Linux的缓存内存 Cache Memory详解
关于Linux的缓存内存 Cache Memory详解
Linux与Win的内存管理不同,会尽量缓存内存以提高读写性能,通常叫做Cache Memory。有时候你会发现没有什么程序在运行,但是使用top或free命令看到可用内存free项会很少,此时查看系统的 /proc/meminfo 文件,会发现有一项 Cached Memory: 继续阅读
转PHP-CGI 100%的引起案例之一
有时候,运行 Nginx、PHP-CGI(php-fpm) Web服务的 Linux 服务器,突然系统负载上升,使用 top 命令查看,很多 php-cgi 进程 CPU 使用率接近100%。后来,我通过跟踪发现,这类情况的出现,跟 PHP 的 file_get_contents() 函数有着密切的关系。 继续阅读