python安装

yum -y install python27
yum -y install python27-devel

 

centos7下安装python3

sudo yum install epel-release
sudo yum install python34


机器安装环境

1.首先安装pip
yum -y install python-pip
报错:
No package python-pip available.
Error: Nothing to do

yum没有相应的包,首先安装epel扩展源:
yum -y[……]

继续阅读

php框架之争总是不断,经常有些什么框架排名,其实从各官网的访问量也可以看出一个框架的流行度。下面排名是2017-6-1的alexa排名,不是各官方网站的真实流量,在这里只做个参考。如果这官网愿意公开流量是最好的了。

其中zend framework比较特殊,由于直接是zend官网,所以有水份。鸟哥的yaf也没有官网,只能用鸟哥的博客代替了。

 

排名
php框架
官网网址
alexa排名
反向链接
预估日ip(万)
预估日pv(万)
pv汇总

1
laravel
https://laravel.com/
3,599
2342[……]

继续阅读

DB-Engines 发布了 2017 年 6 月份的数据库排名。

虽然本月排名均没有发生变化,但 Oracle 和 MySQL 的冠军之争依然扣人心弦。上个月两者同时大幅下跌,但由于 Oracle 跌幅更大,导致两者比分拉近不少,而本月虽然分数变化不大,但 Oracle 下跌 2.55 分,而 MySQL 上升5.28 分,以 6.45 分之差直逼 Oracle。

前 20 名排名情况

完整排名请看这里:http://db-engines.com/en/ranking

而 Microsoft SQL Server 虽然依然稳居第三名。不过在上个月增长 9.0[……]

继续阅读

这里我们主要介绍进程的状态,进程的状态可以通过/proc/PID/status来查看,也可以通过/proc/PID/stat来查看.
如果说到工具大家用的最多的ps也可以看到进程的信息.这里我们通过/proc/PID/status来分析进程的信息.
在2.6.18之后的内核,多了capibilty/cpusets等信息.
查看进程状态信息如下:
more status
Name:   rsyslogd
State:  S (sleeping)
Tgid:   987
Pid:    987
PPid:   1
TracerPid:      0
Uid:    0  [……]

继续阅读

最近在进行php-fpm内存优化,运行命令

1
pmap $(pgrep php-fpm|head -n 1)

发现内存载入了一个99M 的大文件

1
/usr/lib/locale/locale-archive

这个文件是关于语言支持的,默认包含各种语言和字符集支持,服务器用的是字符界面,根本不需要那么多,有en_US.UTF-8就差不多了,最多加个中文zh_CN

精简办法

1
2
3
4
5
6
7
8
9
10
1[……]

继续阅读

下单,充值问题

3个用户几乎同一时候下的订单,下单成功。发现下单时间分别是10:00:01,10:00:02,10:00:03,每个相隔1秒。但不知道什么原因了,在选取支付码的时候。3个同时发现17.59是空闲状态。

$mQP = M('Qp');
$where['is_use'] = 1
$rQP =  $mQP->where($where)->find();//3个php-fpm进程同时运行到此处,发现is_use=0,于是内存里的$rQR值就是17.59这条。
if(!empty($rQP )){ //3个php-fpm进程同时发现$rQ非空,也同时进入[......]

继续阅读

PHP异步执行的常用方式常见的有以下几种,可以根据各自优缺点进行选择:

1.客户端页面采用AJAX技术请求服务器
优点
:最简单,也最快,就是在返回给客户端的HTML代码中,嵌入AJAX调用,或者,嵌入一个img标签,src指向要执行的耗时脚本。
缺点:一般来说Ajax都应该在onLoad以后触发,也就是说,用户点开页面后,就关闭,那就不会触发我们的后台脚本了。
而使用img标签的话,这种方式不能称为严格意义上的异步执行。用户浏览器会长时间等待php脚本的执行完成,也就是用户浏览器的状态栏一直显示还在load。
当然,还可以使用其他的类似原理的方法,比如scri[……]

继续阅读

配置方法:http://blog.feehi.com/linux/678.html

照着网上的配置方法,但就是不能解析。后来直接复制网上的配置,然后创建了新文件,发现成功了。用vimdiff比较了下,两个文件完全一样,为何一个行,一个不行。

后来看了下,原来是文件所有者权限问题,named.conf的组是named组,我把它改成root组就好了。搞不懂,难道不应该用named这个组?

[root@localhost etc]# ll named.conf*
-rw-r–r– 1 root named 1356 May 19 12:05 named.conf
-rw-r[……]

继续阅读

ortoiseGit 使用ssh 免密码登录
免密码登录就是要用key登录,
1.本地使用ssh-keygen -t rsa 建立密匙和公匙,即id_rsa 和 id_rsa.pub,win7下一般在c:/用户/用户名/.ssh下生成
2.服务器上运行
vim /home/git/.ssh/authorized_keys,将刚才生成的id_rsa里的内容复制进来。
chmod 644 /home/git/.ssh/authorized_keys
vim /etc/ssh/sshd_config
RSAAuthentication yes #开启RSA认证功能
Pub[……]

继续阅读

背景

原大众点评的订单单表早就已经突破两百G,由于查询维度较多,即使加了两个从库,优化索引,仍然存在很多查询不理想的情况。去年大量抢购活动的开展,使数据库达到瓶颈,应用只能通过限速、异步队列等对其进行保护;业务需求层出不穷,原有的订单模型很难满足业务需求,但是基于原订单表的DDL又非常吃力,无法达到业务要求。随着这些问题越来越突出,订单数据库的切分就愈发急迫了。

这次切分,我们的目标是未来十年内不需要担心订单容量的问题。

垂直切分

先对订单库进行垂直切分,将原有的订单库分为基础订单库、订单流程库等,本文就不展开讲了。

水平切分

垂直切分缓解了原来单集群的压力,但是在[……]

继续阅读