加载中…
个人资料
王金才
王金才
  • 博客等级:
  • 博客积分:0
  • 博客访问:54,368
  • 关注人气:3
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
图片播放器
博文
(2014-11-24 09:38)
分类: 技术文章
mysql> use 8090tv
Database changed
mysql> explain SELECT * FROM `ff_vod` WHERE ( `vod_status` = 1 ) AND ( `vod_actor` LIKE '%乌洛斯%' ) ORDER BY vod_hits desc,vod_id desc LIMIT 6;
+----+-------------+--------+------+----------------------------------------------------------------------------------+----------------------+---------+-------+-------+-----------------------------+
| id | select_type | table 
| type | possible_keys                                                                    | key                  | key_len | ref   | rows  | Extra                       |
+----+-------------+--------+------+----------------------------------------------------------------------------------+----------------------+---------+-------+-------+-----------------------------+
1 | SIMPLE      | ff_vod | ref  | idx_stat_director_hit_id,idx_stat_cid,idx_stat_actor_hitsid,idx_stat_name_hitsid | idx_stat_name_hitsid | 1       | const | 42203 | Using where; Using filesort |
+----+-------------+--------+------+----------------------------------------------------------------------------------+----------------------+---------+-------+-------+-----------------------------+
1 row in set (0.00 sec)


这里索引没有用上。悲剧了,具体原因在Order by额外排序,再建立索引


mysql> create index idx_hits_id on ff_vod(`vod_hits`,`vod_id`);
Query OK, 42223 rows affected (10.60 sec)
Records: 42223  Duplicates: 0  Warnings: 0


mysql> explain SELECT * FROM `ff_vod` WHERE ( `vod_status` = 1 ) AND ( `vod_actor` LIKE '%乌洛斯%' ) ORDER BY vod_hits desc,vod_id desc LIMIT 6;
+----+-------------+--------+-------+----------------------------------------------------------------------------------+-------------+---------+------+------+-------------+
| id | select_type | table  | type  | possible_keys                                                                    | key         | key_len | ref  | rows | Extra       |
+----+-------------+--------+-------+----------------------------------------------------------------------------------+-------------+---------+------+------+-------------+
1 | SIMPLE      | ff_vod | index | idx_stat_director_hit_id,idx_stat_cid,idx_stat_actor_hitsid,idx_stat_name_hitsid | idx_hits_id | 6       | NULL |    6 | Using where |
+----+-------------+--------+-------+----------------------------------------------------------------------------------+-------------+---------+------+------+-------------+
1 row in set (0.00 sec)

一切OK
阅读  ┆ 转载 ┆ 收藏 


关于SSL证书的使用需求,因OP们平时用SSL的情形比较少,可能早前理解过,经过一段时间概念又会变得模糊。


故而本次一翻牛马查阅之力后,还是烂笔头记录下来比较好。




签发机构 特点
单向 商业 商业机构 证书被终端信任,但前提JDK是否被精简过,如果没有自带 CA可能无法验证商业证书,无异于自签名 实现较简单
二者均可保证加密,如果终端条件允许推荐商业签发。
自签名 终端默认不信任 终端不信任证书和域名劫持问题,但如果可以将公钥内置入终 端,可以解决风险
双向 商业 商业机构签发终端证书 1、 均有额外成本投入问题
2、均需客户端证书预置
3、商业方案需要解决证书更新技术问题,自签名不需要考虑(有效期时间更长)
更安全,但对于终端和
后台均要求高成本投入
自签名 自建证书服务器签发终端证书
阅读  ┆ 转载 ┆ 收藏 
标签:

it

作者:王金才 

版本:1.0

 

一、数据中心建设方案

 

大概分成三种运维部署支持方案:

 

方案1:APP主要基础服务架构采用公有云服务:(云主机,云网络,云存储),客服和运营支持系统接入远特呼叫中心平台。

如图:

 

 
                                                                               

方案2:APP全部服务部署到云端:运营商公有云+远特科技私有云,俗称混合云。

      

如图:



方案3:不使用云,全部服务IDC自建

 

如图

 



 

 

二、上述3种运维支持方案对比

 

名称

方案1(公有云)

方案2(公有云+私有云)

 

IDC自建服务

资源利用率

充分利用

高度充分利用

 

可能造成资源浪费

数据安全

数据托管在运营商的云上,对于视数据如生命的企业而言,安全感极差。

将核心数据放到企业防火墙后面的私有云上,就会非常安全

 

 

安全

SLA(服务质量)

     良好

(因为主机系托管,某些系统问题沟通效率低)

优秀

 

 

和投入规模成正比

开发环境支持

一般

良好

 

优秀,完全自定义

运维复杂度

简单

非常简单

(前提要求工程师具有高度的私有云控制能力,需要投入学习培训成本)

 

简单,自主规划

投入成本

不需要一次性投入,费用弹性伸缩

商业私有云软件License费用高昂,软件费用+售后维护费用之和高于硬件投入费用。

 

前期建设投入巨大

 

 

 

 

阅读  ┆ 转载 ┆ 收藏 
(2013-08-29 16:02)

南无密栗多,哆婆曳娑诃;

愿此报恩经功德,普及父母於一切

四生六道与含灵,皆共同登圣觉岸。

 

阅读  ┆ 转载 ┆ 收藏 
[root@cancer-hz16 baidu]# ls -lht
total 5.2G
-rw-r--r-- 1 root root  235 Apr 11 18:31 xxx.pl
-rw-r----- 1 root root 458K Apr 11 18:29 shouji.gexing.com-access.log-20130408
-rw-r----- 1 root root 370M Apr 11 18:29 z.gexing.com-access.log-20130408
-rw-r----- 1 root root 4.8G Apr 11 18:29 www.gexing.com-access.log-20130408
[root@cancer-hz16 baidu]#
[root@cancer-hz16 baidu]#
[root@cancer-hz16 baidu]# perl xxx.pl
baidu log num: baidu Transcoder 30600
all log num:  14569775

[root@cancer-hz16 baidu]# perl xxx.pl
baidu log num: baidu Transcoder 30600
all log num:  14569775


#!/usr/bin/perl -w

use 5.010;

@ARGV = glob "*access.log";

while (<>){


        $all_num++;
        $baidu_words{$1}++ if /(baidu Transcoder)/i;
}

@xxx = &#65533;idu_words;

print "baidu log num: @xxx\n";
print "all log num:  $all_num\n";
阅读  ┆ 转载 ┆ 收藏 
(2012-06-23 17:35)
标签:

杂谈

  1. No package 'libpcre' found
  2. Consider adjusting the PKG_CONFIG_PATH environment variable if you
  3. installed software in a non-standard prefix.
  4. Alternatively, you may set the environment variables PCRE_CFLAGS
  5. and PCRE_LIBS to avoid the need to call pkg-config.
  6. See the pkg-config man page for more details.

如果你baidu,所有都在讲export PKG_CONFIG_PATH=/usr/local/lib 即可解决

实在害死人哪

 

仔细看报错,还是根据自身情况判断吧

[root@localhost varnish-3.0.2]# find / -name libpcre.pc
/usr/lib64/pkgconfig/libpcre.pc

export PKG_CONFIG_PATH="/usr/lib64/pkgconfig/"

pkg-config --libs --cflags libpcre
 -L/usr/lib64 -lpcre

编译ok



补充:

yum简单安装方法

rpm -ivh http://repo.varnish-cache.org/redhat/varnish-3.0/el6/x86_64/varnish-libs-3.0.3-1.el6.x86_64.rpm

rpm -ivh http://repo.varnish-cache.org/redhat/varnish-3.0/el6/x86_64/varnish-3.0.3-1.el6.x86_64.rpm

rpm -ivh http://repo.varnish-cache.org/redhat/varnish-3.0/el6/x86_64/varnish-docs-3.0.3-1.el6.x86_64.rpm


阅读  ┆ 转载 ┆ 收藏 
OS:CentOS5 x86 64bit
Software:reviewboard


1、python安装
cd Python-2.7.2 
./configure  --enable-shared 
make
make install

vi /etc/ld.so.conf
add:/usr/local/lib
ldconfig


2、apache安装

mkdir /data0/opt
./configure --prefix=/data0/opt/apr
make
make install


cd ../apr-util/
./configure --prefix=/data0/opt/apr-util --with-apr=/data0/opt/apr/
make
make install

cd httpd
./configure --prefix=/data0/opt/httpd --enable-modules=most --with-apr=/data0/opt/apr --with-apr-util=/data0/opt/apr-util/


3、cd mod_wsgi-3.3/

./configure --with-apxs=/data0/opt/httpd/bin/apxs --with-python=/usr/local/bin/python

make && make install


4、cd sqlite-3.6.13/

./configure
make && make install

5、neno
  611  tar -zxvf neon-0.29.6.tar.gz -C subversion-1.6.17/
  612  cd subversion-1.6.17
  614  mv neon-0.29.6/ neon
  617  ./configure --enable-shared --with-ssl 

6、cd sqlite-3.6.13/
./configure 
make && make install

7、cd subversion-1.6.17
  620  mkdir sqlite-amalgamation
  621  cp ../sqlite-3.6.13/sqlite3.c sqlite-amalgamation/
  622  ./configure --enable-shared --with-ssl 
  make && make install
  
  
  
8、cd pycxxx
                                                                                                                              
  640  python setup.py install
  650  cp setup_makefile.py Demo/Python2/
  651  cd Demo/Python2/
  654  python setup_makefile.py linux linux.mak 
  656  make -f linux.mak clean test      

9、 cd pysvn-1.7.5
  661  cd Source/
  662  python setup.py backport
  663  python setup.py configure
  676  make
  680  cd Tests/
  682  make


10、mysql 安装 略

11、MySQL-python-1.2.3安装
cd MySQL-python-1.2.3
vi site.cfg 
   687  export PATH=$PATH:/data0/opt/mysql/bin/
   691  python setup.py build
   692  python setup.py install
 1118  scp ./Source/pysvn/_pysvn_2_7.so /usr/local/lib/python2.7/site-packages/pysvn/
 1122  scp ./Source/pysvn/* /usr/local/lib/python2.7/site-packages/pysvn/
 
   
  
12、无法认出mysql

调试python 
import MySQLdb
然后寻找响应的libmysqlclient_r.so.16库

13、reviewboard
下载最新的RC版本即可
cd Reviewboard6.2
python setup.py install
.......
然后

安装rb.tech.intra.weibo.com

rb-site install /data0/opt/www/rb.tech.intra.weibo.com

阅读  ┆ 转载 ┆ 收藏 
(2011-08-02 11:54)
标签:

转载

分类: 生活随笔
哈哈哈
原文地址:消夏北戴河作者:潇逸如风

    部门组织活动去北戴河玩。北戴河去过几回,但雨后观海这还是头一遭。周六早上从北京出发,天气晴朗;可行进半途,已是雨点敲窗;抵达北戴河,却是大雨不断。原计划,下午去泡海,第二天上午去鸽子窝、奥运公园。因为下雨,调整行程,准备下午去公园,没想到因为涨潮,公园被关。安全意识还挺强!不会是因为七二三吧?最后我们作出了一个艰难的决定,还是冒险去海边。

    老天还真给力!等我们到了东山,天已放晴。放眼海面,白浪滚滚,“卷起千堆雪”,不曾想这大风大浪更显大海之壮观。再看近前,不少弄潮儿在浪花中或嬉戏,或搏击。眺望远处,跨在海上的一道彩虹还依稀可见。真后悔没在大雨之时来观海,没准还能见到“大雨落幽燕”的奇观。

 

这雨后的天,雨后的海,雨后的人,看起来是不是更爽?!

 

瞧这波浪,立体感真强!远处的游船,因为风浪,没有启航

远处的彩虹,你看见了吗?这是我第一次在海上见到彩虹,原先在草原也见过一次

 

真正感受到了什么叫“卷起千堆雪”

猛一看以为是人造冲浪池,其实这才是真正的纯天然

 

别光看着,也下去浪一把。瞧这三位,任凭风吹浪打,我自岿然不动

 

真的不动?那不可能!海啸来了,快跑!!!

 

不是海啸啊?虚惊一场!再次下海。不过这次真的湿身了

在湿身的关键时刻,悬崖勒马,赶紧打住,终于保全了上半身


海盗来了,奋力搏斗,把其中一海盗打得人仰马翻,但最终还是失去了心爱的伴侣—眼镜



看我们只是光着脚,瞧人家都是光着背

 

    第二天,我早早起床,吃完早餐,就自个出去溜达了一圈,也感受一下北戴河的城市风貌。运气还不错,看到了飒爽英姿的女交警交接班,还看到了街边人造瀑布的开启。其实晚上更漂亮,遗憾的是晚上经过时,是坐在车上,也没带相机。

 

7:55,女交警在交接班

 

7:58,瀑布还没开启

 

8点准时开始,从左至右逐步开启

 

2分钟之后,全部开启完毕

 

上午又往东山海滩进发,坐船游泳去。这就是我们即将要乘坐的长城1号

在游船上,我拍到海上划艇,佩服!放大一看,好像是老外

 

游船上,凭栏处,意气风发

瞧这模样,特务接头来了


看这架势,领导视察来了

这是谁在向我们款款走来?据说是位大仙

 


明星出场了,酷似“王菲”?瞧那保镖们,酷男,型男,美男......

 

这是八仙过海?是不是还缺何仙姑和张果老?不管你信不信,反正我是信了(该图同事“厕所的灯”拍摄)

 

最后来一张大合影。还有蹭影的,瞧最右边那位带树叶帽的(该图由同事“厕所的灯”拍摄)

阅读  ┆ 转载原文 ┆ 收藏 
标签:

杂谈

分类: 技术文章
尝试了很久,要记录下来

日志格式:
117.135.136.119 - benliu12@gmail.com [21/Mar/2011:00:10:01 +0800] "GET http://api.t.sina.com.cn/statuses/friends_timeline.xml?include_rts=true&max_id=9223372036854775807&since_id=7789798225&rpp=20&count=20&source=699315380 HTTP/1.1" 200 59 "-" "twitter4j http://yusuke.homeip.net/twitter4j/ /undefined"

[yichi@vm10110030 14_121]$ cat count.sh
{
    a[$1" "$9]++
}
END{
   
    for (i in a){
        print i,a[i]
        }
}

[yichi@vm10110030 14_121]$ awk -f count.sh  varnish.log.2011-03-28_00_00 |egrep -v "HTTP|null|unk"|sort|awk 'NR>1{a[$1]=a[$1] FS $2 FS $3 }END{for (i in a) print i,a[i]}'

可实现已IP为唯一Key的各种状态的统计
221.180.12.83  200 7
117.136.11.71  200 6 401 1
117.136.11.72  200 6
117.136.11.73  200 8 400 1
117.136.11.74  200 14
218.205.128.18  200 10
117.136.11.75  200 24
117.136.11.78  200 18 400 1
211.138.242.94  200 7
117.136.11.79  200 36 400 6
211.142.242.202  200 192
10.164.30.133  200 3
117.136.8.180  200 11
112.0.49.200  200 2

若带每个IP的总hits,则
awk -f count.sh  varnish.log.2011-03-28_00_00 |egrep -v "HTTP|null|unk"|sort|awk  '{if($1!=v) {printf FS x"\n" $1 FS $2 FS $3;x=0} else {printf FS $2 FS $3};v=$1;x+=$3}END{print FS $3}'

221.131.60.192 200 12 12
218.200.47.238 200 37 37
112.4.116.65 200 20 20
112.4.94.47 200 9 9
117.136.22.186 200 9 9
221.131.94.37 200 13 13
211.142.19.1 200 45 45
112.1.203.63 200 8 8


二、perl脚本处理方式
   #!/usr/bin/perl
  1. #use warnings;
  2. use strict;
  3. my (%HASH,$ip);
  4. open IN,"$ARGV[0]" or die;
  5. while (<IN>){
  6.         chomp;
  7.         my ($i,$j,$k)=split;

  8.         if ($ip eq $i){
  9.                 $HASH{$i}= $HASH{$i} . " $j ($k)";
  10.         }else{
  11.                 print "$ip $HASH{$ip}\n";
  12.                 %HASH='';
  13.                 $HASH{$i}= $HASH{$i} . " $j ($k)";
  14.         }

  15.         $ip=$i;

  16. }
  17. print "$ip $HASH{$ip}\n";
  18. close IN;
带ALL
#!/usr/bin/perl
  use warnings;
  use strict;
  my ($context,$hits);
  my $ip=0;
  open IN,"$ARGV[0]" or die;
  while (<IN>){
          chomp;
          my ($i,$j,$k)=split;


          if ($ip eq $i){
                  $context=$context . " $j ($k)";
                  $hits=$hits+$k;
          }else{
                  print "$context All ($hits)\n" if ($hits);
                  $context=undef $hits;
                  $context=$_;
                  $hits=$k;
          }


          $ip=$i;


  }
  print "$context All ($hits)\n" if ($hits);
  close IN;

三、python方式


import os
import sys

stats_dict={}
def stats(file_name):
    f=open(file_name, 'r')
    while True:
        line=f.readline()
        if line=='':
            break
        line=line.strip()
        column_list=line.split(' ')
        key=column_list[0]
        if not stats_dict.has_key(key):
            stats_dict[key]={}
        stats_dict[key][column_list[1]]=column_list[2]
        sum=stats_dict[key].get('sum', 0)
        sum=sum+int(column_list[2])
        stats_dict[key]['sum']=sum
    f.close()
    return stats_dict

if __name__ == '__main__':
    d=stats(sys.argv[1])
    for o in d.keys():
        s=d.get(o)
        l=sorted(s.keys())
        out=o
        for a in l:
            v=s.get(a)
            out=out+' '+a+'('+str(v)+')'
        print out








阅读  ┆ 转载 ┆ 收藏 
标签:

杂谈

分类: 股海泛舟
5日均线(黄)压着10日均线(紫)的上轨运行 ,形势不走坏,可以参与
5日均线下穿10日均线下行,形势走坏,不可参与。

图1


图2



20日均线(绿)压着60日均线(白)的上轨运行 ,形势不走坏,是牛市阶段
20日均线下穿60日均线下行,形势走坏,熊市阶段。



今日纵观全盘,20日和60日均线即将交汇,莫非熊走牛来,拭目以待吧,需要验证!
阅读  ┆ 转载 ┆ 收藏 
  

新浪BLOG意见反馈留言板 不良信息反馈 电话:4006900000 提示音后按1键(按当地市话标准计费) 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 会员注册 | 产品答疑

新浪公司 版权所有