全球主机交流论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

CeraNetworks网络延迟测速工具IP归属甄别会员请立即修改密码
查看: 5520|回复: 10
打印 上一主题 下一主题

[Windows VPS] 万能的loc 求解决》》wordpress高并发

[复制链接]
跳转到指定楼层
1#
发表于 2013-4-12 16:46:51 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 Tou 于 2013-4-12 17:41 编辑

据lazyzhu指导和xen的提示设置开fastcgi缓存,昨天并发300没挂 刚刚无聊并发100 就挂了

求指导

fastcgi缓存内容:

http里加了:
fastcgi_cache_path /www/php_cache  levels=1:2  keys_zone=cache_php:30m inactive=1d max_size=10g;

server里加了:
    location ~ .*\.php?$
    {
      #fastcgi_cache的配置
      fastcgi_cache   cache_php;
      fastcgi_cache_valid   200 302  1h;
      fastcgi_cache_min_uses  1;
      fastcgi_cache_use_stale error  timeout invalid_header http_500;
      fastcgi_cache_key $host$request_uri;
    }

完整nginx:

user  www www;

worker_processes 8;
worker_cpu_affinity 00000001 00000010 00000100 00001000 00010000 00100000 01000000 10000000;

error_log  /home/wwwlogs/nginx_error.log  crit;

pid        /usr/local/nginx/logs/nginx.pid;

#Specifies the value for maximum file descriptors that can be opened by this process.
worker_rlimit_nofile 102400;

events
        {
                use epoll;
                worker_connections 102400;
        }

http
        {
                include       mime.types;
                default_type  application/octet-stream;

                server_names_hash_bucket_size 128;
                client_header_buffer_size 32k;
                large_client_header_buffers 4 32k;
                client_max_body_size 50m;

                sendfile on;
                tcp_nopush     on;

                keepalive_timeout 60;

                tcp_nodelay on;

                fastcgi_connect_timeout 300;
                fastcgi_send_timeout 300;
                fastcgi_read_timeout 300;
                fastcgi_buffer_size 64k;
                fastcgi_buffers 4 64k;
                                                                                                                        
                fastcgi_busy_buffers_size 128k;
                fastcgi_temp_file_write_size 256k;
                fastcgi_cache_path /usr/local/fastcgi_cache  levels=1:2  keys_zone=cache_php:30m inactive=1d max_size=10g;
                open_file_cache max=102400 inactive=20s;
                open_file_cache_min_uses 1;
                open_file_cache_valid 30s;
                server_tokens off;

                gzip on;
                gzip_min_length  1k;
                gzip_buffers     4 16k;
                gzip_http_version 1.0;
                gzip_comp_level 2;
                gzip_types       text/plain application/x-javascript text/css application/xml;
                gzip_vary on;

                #limit_zone  crawler  $binary_remote_addr  10m;
                #limit_req_zone $binary_remote_addr zone=req_one:10m rate=1r/s;

                #log format
                log_format  access  '$remote_addr - $remote_user [$time_local] "$request" '
             '$status $body_bytes_sent "$http_referer" '
             '"$http_user_agent" $http_x_forwarded_for';

server
        {
                listen       80;
                server_name domain.com;
                index index.html index.htm index.php;
                root  /home/wwwroot;
                #limit_conn crawler  36;
                #limit_req zone=req_one burst=120 nodelay;
               location ~ .*\.(php|php5)?$
                        {
                                try_files $uri =404;
                                fastcgi_pass unix:/tmp/php-cgi.sock;
                                fastcgi_index index.php;
                                include fcgi.conf;
                                fastcgi_cache cache_php;
                                fastcgi_cache_valid 200 302 1h;
                                fastcgi_cache_valid 301 1d;
                                fastcgi_cache_valid any 1m;
                                fastcgi_cache_min_uses 1;
                                fastcgi_cache_use_stale error  timeout invalid_header http_500;
                                fastcgi_cache_key $host$request_uri;
                        }

                location /status {
                        stub_status on;
                        access_log   off;
                }

                location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
                        {
                                expires      30d;
                        }

                location ~ .*\.(js|css)?$
                        {
                                expires      12h;
                        }

                access_log  /home/wwwlogs/access.log  access;
        }
include vhost/*.conf;
}

2#
发表于 2013-4-12 16:49:12 | 只看该作者
http://www.vpsspy.net/82.html

彻底解决你这问题.前提是硬盘要够大.

点评

Tou
300并发 502 Bad Gateway  发表于 2013-4-12 16:53
3#
发表于 2013-4-12 17:12:02 | 只看该作者
wp super cache那个傻逼没用的,fcgi配置再优化下吧,装memcache

点评

Tou
fcgi 优化哪个位置?已安装过memcache  发表于 2013-4-12 17:21
4#
 楼主| 发表于 2013-4-12 17:32:40 | 只看该作者
xen 发表于 2013-4-12 17:12
wp super cache那个傻逼没用的,fcgi配置再优化下吧,装memcache

你今年初三or高一?
5#
发表于 2013-4-12 17:35:58 | 只看该作者
额,用傻逼 wp super cache的路过。。。
6#
发表于 2013-4-12 17:36:42 | 只看该作者
#fastcgi_cache cache_php;
前面加了#还能有效?

点评

Tou
刚刚测试没fastcgi cache时候加的#,你比别人细心认真  发表于 2013-4-12 17:42
7#
发表于 2013-4-12 17:36:57 | 只看该作者
sp的预缓存,全站全静态html文件.nginx 300并发应该不会有什么大问题吧?
没试过有这么高的并发,求交流.  

点评

Tou
200并发就挂了,后来为了效果明显点就加了100并发,我也在着方法。我个人认为是wordpress的机制有问题让mysql跟补上有关系,2000并发探针文件也没挂  发表于 2013-4-12 17:45
8#
发表于 2013-4-12 17:51:42 来自手机 | 只看该作者
hiphop化

点评

Tou
网上说小内存不建议装hiphop 我小内存  发表于 2013-4-12 18:06
9#
发表于 2013-4-12 18:13:12 | 只看该作者
300并发nginx一个进程就妥妥的, 搞那么多nginx进程做什么, 当多进程维护公有变量加锁通讯什么的不要成本的么.......

至于wp...想想跑wp一个进程需要多少内存.....小vps真有300并发命中php,那就该果断死掉,避免死挺着进一步恶化了

如果算法,数据结构,缓存之类的不能近一步有效优化,  那最直接最有效的办法就是加硬件

点评

Tou
感谢指导,我没注意到nginx太多进程很浪费,你比别人注重整体 研究的也更细致  发表于 2013-4-12 18:40
10#
发表于 2013-4-12 18:16:02 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|全球主机交流论坛

GMT+8, 2026-4-13 12:11 , Processed in 0.215315 second(s), 21 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表