The Mirages

樱桃沟夹事

  现在欧洲国家不景气,所以都希望吸引中国人过去,但是他们又害怕你留在那里打黑工。 说如何办理吧,有了上次签西班牙的过程,这次就方便多了。法国旅游签证貌似中智都代理了,中智这中介费挣的,所以还能在芳草地这样的地方租了一层,这都是广大百姓的钱啊。 而且现在法国签证48小时就出结果了,基本3天就可以到你手上了。 首先登录 https://cn.tlscontact.com/cnBJS2fr/login.php?l=zh_CN 进行注册和预约。 需要准备的材料都大同小异,可老婆大人就怕不过,所以弄了一堆。 2寸照片2张,但是最后又给回了一张,实际就用了一张,为了这个某些人还花了35元照了个像。 公司准假证明,网上有现成的模板,就是注意要公司盖章和人事签字。 护照和复印件 户口本和复印件 资产证明:银行流水,定期存款,房本等等,反正让他们相信你不稀罕在那打工就成。 往返机票订单 住宿酒店订单 行程单 其他参照网站说明吧。 然后就填写《短期申根签证申请表》和《短期申根签证申请补充问题》 接着就提前90天预约就行了。 到了芳草地,这地真不错,以前还真不知道东大桥附近还有这么高大上的地方呢。排队,提交材料,付钱,打印发票,走人,要不了一个小时的。 签证费500多,中介费200多,真你妈够黑的。 3天后就拿到签证了,真快,比以前那个啥啥啥国家快多了。 拿到签证才是自助游的第一步呢,后面定酒店,火车,住宿,租车,拼团,参观哪些景点,这些都让球球去弄吧,我负责付款就成。 飞机票: 看来看去还是kuxun上比较便宜,老东家qunar自从收编那些小破网站后明显涨价了。 住宿: 闲booking上太贵的话就上airbnb上订吧,booking是各种旅馆和宾馆,airbnb是民宿(基本就1-2个房间的)。booking上所谓的旅馆也就是大一点的民宿而已。 买火车票: 你总不能就在巴黎待着啊。直接上欧铁中文网站买的那是有钱人。自由行的就上下面2个上买吧。 https://www.idtgv.com/en/reserver http://www.sncf.com/en/passengers 哦,说一句很多人都说付不了款,记得把自己信用卡开通3D验证。上次用了兴业的没有问题,就是货币转换费收的我肉疼,所以这次直接中行全币种卡,没有货币转换费,付款都没有问题的。 在巴黎基本坐地铁就行了,下面这个就是英文版巴黎地铁查询,貌似比天朝的要高大上很多啊。只是这个没有跟google map整合起来,导致没法在google进行搜索。 http://www.ratp.fr/plan-interactif/carteidf.php?lang=uk 法国南部就基本是靠火车是自驾了,看了很多qyer的分享公交车还是不靠谱啊。 看来今年车本必须出啊,不然以后怎么去德国和美国以及澳洲啊。

wordpress网站优化

由于图便宜,买了一个就128M内存的vps。所以非常关注性能的问题。

性能主要是2点,php和mysql的部分。

mysql的部分网上很多都有所有说到了,不启动innodb,限制binlog cache, 限制sort buffer等等。具体可以参见如下

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
[mysql]
no-auto-rehash

[mysqld]
user = mysql
port = 3306
open_files_limit = 600
back_log = 20
max_connections = 100
max_connect_errors = 200
table_cache = 60
external-locking = FALSE
max_allowed_packet = 16M
sort_buffer_size = 128K
join_buffer_size = 128K
thread_cache_size = 10
thread_concurrency = 8
query_cache_size = 0M
query_cache_limit = 2M
query_cache_min_res_unit = 2k
default_table_type = MyISAM
thread_stack = 192K
transaction_isolation = READ-UNCOMMITTED
tmp_table_size = 512K
max_heap_table_size = 32M
long_query_time = 1
log_long_format
server-id = 1
binlog_cache_size = 2M
max_binlog_cache_size = 4M
max_binlog_size = 512M
expire_logs_days = 7
key_buffer_size = 4M
read_buffer_size = 1M
read_rnd_buffer_size = 2M
bulk_insert_buffer_size = 2M
myisam_sort_buffer_size = 4M
myisam_max_sort_file_size = 10G
myisam_max_extra_sort_file_size = 10G
myisam_repair_threads = 1
myisam_recover
skip-innodb

[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

php的部分。
使用fastcgi, 前端使用nginx来进行fastcgi代理。 fastcgi使用的php-fpm。

阅读全文 »

首先我们要了解track服务的特征。

一般互联网广告公司的代码都是嵌入在客户网站中的部分页面,而这些代码的体积也不会很大,因此针对这个特征我们就需要进行对应的http server的优化。

keepalive: 在很多教程中都是推荐开启keepalive,这样可以复用连接,但是在track的http server中还是建议关闭吧,毕竟很多用户连接你的服务器很长时间内只会一次的,你开启了keepalive就会造成很多的无效连接。

TCP_NODELAY: 由于track代码一般都比较小,经常只有几百个字节,而默认tcp会开启nagle算法,这个算法是鼓励发送全尺寸的的数据段,而我们的track代码可能无法填充满一个分组,于是导致等待的延时。有时候会有100ms到200ms的延时。 如果你的track代码大于1500个字节的话,那也可以开启这个算法。

Connection header: 在http的头部中有个connection的部分, 由于一般track代码只运行一次,运行完成我们就需要尽快关闭连接,所以在connection头部返回的时候我们直接变成 Connection: close以此来尽快关闭连接。

增加缓存时间: 由于很多track code不会经常经常进行更改,所以为了避免每次都下载,可以增加相应的过期时间。

阅读全文 »

track服务优化之一 : DNS和域名 在互联网广告公司里,有一些服务是用作跟踪用户的,而这些代码嵌入的不多,qps也不高,然后文件大小也比较小,对于这样的应用我们如何进行优化呢。 我们http请求第一步开始说起。 大部分的http请求都是通过dns来进行的,这样dns解析的速度也关系到整个访问的速度。 下图中我们可以很明显的看到,这个请求最大的2个部分就是dns和内容下载。 1 我们知道DNS的缓存时间都由DNS设置TTL时间来决定的(除了部分local dns做强制缓存),而当一个域名在local dns中没有缓存时,local dns就会以迭代的方式去查询这个域名的解析。比如我们通过trace来模拟一个本地没有缓存的迭代过程。 下面是我们解析www.sohu.com的一个例子。 我们可以看到这里,首先是找到根域名的服务器,然后找到所有.com域名的根服务器,然后找到sohu.com域名的根服务器,然后解析了www.sohu.com, 而由于www.sohu.com做了一次cname,所以要进行解析,最终得到对应的IP地址。 而这个过程中,我们发现实际去dns.sohu.com的时间才52ms,而他去到根域名服务器和.com根域的解析时间加起来要452ms,而这个时间都是算在整个请求的时间内的。 2 从上可以看到加快DNS解析速度的重要性,而在local dns中缓存是重重之重。而这个第一步就是统一域名,发现国内某些广告商居然用好多域名来进行跟踪。而google却只用了一个单独域名来进行。 下图是我直接访问这家广告公司的跟踪域名,可以看到光dns解析的时间就903ms,这个还是他们使用了dnspod的服务器的情况下。 3 而他们的很多广告都使用了不同的域名,不过经过查询是应该用了泛域名解析。但是实际dns请求的时候还是会有延迟啊,local dns可不管是不是泛域名呢。 而这家广告商的这些域名指向最终都是同一个IP,那为什么不用单个域名呢? 4 而我们看google ga,所有的ga使用的域名都是同一个。这样从dns层面减少了响应的时间。 5 从上面我们得到,使用单一域名在dns层面的好处是比较大的。 加快DNS解析速度的另外一个因素就是TTL时间。这个从解析速度来看自然是越大越好,比如很多根域名服务器都是缓存1周的,但是我们看到大量的还是缓存1个小时的。毕竟时间放太长,一旦网络出了问题都没办法切换。所以有些请求量很大的域名的ttl时间都是120秒左右的,就是怕万一有问题来不及切换。 这个就没有绝对的要求,全看各自的dns服务器的分布和性能了。

一年之计在于春,就列一下今年的个人计划吧。 学习开车,没办法了,必须学了,在海淀驾校还是东方时尚之间选择呢。 锻炼身体: 身体太重要了,没有这个啥都干不成啊,先继续100个俯卧撑计划。至于去游泳,现在工作实在是太忙,而且稍微有点远,所以没法保证每周3次啊,等调整好了再报名参加。每周三次,平均每次成本在15元左右,这个还是可以接受的。 法国旅行: 也土炮一次上一个热门国家,这个计划就让我们家球球做了,但是之前的学习工作还是要做的。 看完林达的《带一本书去巴黎》,简略过一下LP的内容。旅行的意义不就是了解这个国家的文化和历史来的吗? 学习完成, 并写完整和之后的运维管理系统,主要是资产管理,监控报警,服务台内容,初始化系统和密码管理这5项内容吧。 这个东西外面看了很多,可惜没有适合自己实际情况的。虽然很不想重复造轮子,可实在是被逼的。

有台服务器,4G内存的。 可以显示可用的内存数字有1070MB, 可机器上没有什么进程占用大量的内存啊,于是就慢慢开始找原因了。 然后用了之前yufeng提供的一段内存检查的代码来进行检查,看是否有slapinfo和pagetable占用的多。http://blog.yufeng.info/archives/2456

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#/bin/bash
for PROC in `ls /proc/|grep "^[0-9]"`
do
if [ -f /proc/$PROC/statm ]; then
TEP=`cat /proc/$PROC/statm | awk '{print ($2)}'`

RSS=`expr $RSS + $TEP`
fi
done
RSS=`expr $RSS * 4`
PageTable=`grep PageTables /proc/meminfo | awk '{print $2}'`
SlabInfo=`cat /proc/slabinfo |awk 'BEGIN{sum=0;}{sum=sum+$3*$4;}END{print sum/1024/1024}'`

echo $RSS"KB", $PageTable"KB", $SlabInfo"MB"
printf "rss+pagetable+slabinfo=%sMBn" `echo $RSS/1024 + $PageTable/1024 + $SlabInfo|bc`
free -m

可执行下来的结果,显示已用的vmrss+pagetable+slapinfo总共才1.4GB左右 于是想是不是一些inode占用了比较多的内存,于是在sysctl.conf中加入了如下参数将内存的caches,denties和inodes等信息sync到磁盘上

1
vm.drop_caches = 3 

可执行了sysctl后也就清理了50MB内存,那剩下的内存呢。 然后就查看/proc/meminfo,看看是否free命令有bug啊 看来这里也没有啊,这个结果跟free出来的结果是一致的。 于是就开始 /proc/PID/status 里面的vm部分进行累加计算,发现vmsize的累加的值跟这个内存使用的大小还是很接近的。

1
2
3
4
5
6
7
8
9
10
11
12
for PROC in `ls /proc/|grep "^[0-9]"`
do
if [ -f /proc/$PROC/status ]; then
TEP=`grep 'VmSize' /proc/$PROC/status |awk '{print ($2)}'`
if [ ! -n $TEP ];
then
TEP=0
fi
VMSIZE=`expr $VMSIZE + $TEP`
fi
done
echo $VMSIZE
阅读全文 »

再过1个小时就是2014年了。 记得谁说过,当你回忆往事的时候,说明你已经老了。 2013年好像啥事情都没做,经历了忙碌2012年,2013年是调整的1年。 总结起来2013年看了很多闲书貌似,然后还从台湾带了几本闲书,顺便去了趟台湾玩,好了,中港澳台都去过了,也算周边中国了。 10月又去了次四川成都和九寨沟。 看了九寨沟和黄龙的晚秋风景,回来后对三里屯东5街的银杏黄叶完全无感了,可还是看到那么多男男女女女来这里拍照。 这1年貌似出差也挺多,其实我这人挺不爱出差,更不怎么想去IDC,不过这1年就必须这样啊。 2013年也看到一张搞笑的运维图片。要都这样运维工作怎么去完成了,要从上层设计的时候避免任何的单点故障,千万别有侥幸的心态,一台服务器安全运行4,5年那都是很难的的,特别是业务变更多的公司。

周五经历了一次艺术之旅,是踢踏舞,我等土鳖理解上只是用鞋跟在地板上踩出不同的声音。 演出剧目为 大河之舞2《舞起狂澜》,大河之舞好像在哪年春晚上有过表演,也是爱尔兰的。这个2也是原先的那个导演John McColgan。 由于有过1的感觉,所以2对我来说也差不多,就是多了一点动画和现场的衔接。 所谓狂澜也就在当中一段而已,故事情节就是在海上漂流,只是当中一场戏是波涛汹涌。而其他场次都是非常平静的。 当中偷偷拍了一段是他们到了城市中的,这段是纯粹的踢踏舞表演,没有什么伴奏,我觉得这个更纯粹一点啦。 当然其他我也看不出有什么特别的了,实在是没有什么艺术细胞,也就这样吧。 http://v.youku.com/v_show/id_XNjQyMzE4MzY0.html

要说旅游,之前一定想着要懂当地的民俗风情,历史渊源,不然你去干嘛? 所以一直很明白为什么上海也是一个旅游城市。 虽然说“百年上海看外滩,十年上海看浦东。” 可要说历史可真心没有西安,南京这样的强大。 那九寨沟呢? 九寨沟除了风景美之外,还有别的吗? 应该是有的。 九寨沟一年四季都很美,春天和夏天的绿色,秋天是黄色的,冬天是白色的。然后里面的寨民也都比较淳朴,买的东西都不贵。 买了一个牦牛皮的挂件5个才10元,一个牦牛角的梳子从3元到30元各种不等的都有。 《旅行的艺术》里说如何旅游经常发生在想象的时候都特别好,结果去了就感叹。 可是九寨沟绝对不是这样的一个地,去之前你能想象的,现实绝对给你更大的回报。 那就再贴一点当地的风光吧,这个还是我们进九寨沟的第一天,晚上住在了藏民家里,招待吃喝,就是晚上老没电。 不知道多少以前的树倒下了,也不知道是因为地震还是人为,反正就这样寂静的倒下了。 内嵌图片 1 多姿多彩的颜色可不光是靠钙化可以完成的,还有别的因素。 内嵌图片 2 远山的倒影就这样躺在了这个湖面上,而近处是芦苇摇曳着。 内嵌图片 3 来到山间,由于各种不同的植被导致了到了深秋大家各自的颜色,我想人工做的可没有这样的丰富啊。 内嵌图片 4 这个好像就是五色湖了,这里人可太多了,今天就拍到这个了,明日再来。 内嵌图片 5 找了一个高处,刚好一群大妈合影呢。 内嵌图片 6 那红色的倒影到底是什么呢? 内嵌图片 7 当然不是枫叶啦。没那么简单啦。 内嵌图片 8 我们先来看看瀑布吧,这可是87版西游记的拍摄场地之一,是不是觉得很熟悉啊。 内嵌图片 9 换个熟悉的角度,不会还想不起来吧。 内嵌图片 10 好了,揭晓上面的答案了,那个红色是樱桃的倒影,为了验证一下,某人还吃了一个,这算破坏公物行为吗? 内嵌图片 11 一些倒下的树干居然有生长了别的植物,难道嫁接就是这样来的? 当然不是啦,有些土又有水,可不合适的植物就在这上面长大了。 内嵌图片 12 找到一棵红叶的,可这不是枫叶哦。 内嵌图片 13 也许没过多久,旁边那个树梢上也会长新东西。至于是什么,我不知道,你也不知道,风知道。 内嵌图片 14 好了,第一天心灵之旅就这样结束了,画个心吧,也算不虚此行了,明日再战。 内嵌图片 15

之前路上看到的到了九寨沟就是小巫见大巫了,而经过汶川时候的难受也一下子烟消云散了。 虽然下面这个已经震惊了我,但是还是感觉很漂亮 内嵌图片 1 到九寨沟必须要经过九道拐,我们终于快到了。 内嵌图片 2 好了,好好休息一个晚上,我们第二天就正式进驻沟里了,这个深秋的九寨真是别有一番风情啊。 进了沟里,直接上了大巴然后去了原始森林。海拔3000米吧,我们一直从原始森林走到天鹅海。 这满山的绿叶,红叶,黄叶,在这里我们也呼吸了大量的负氧离子,回北京可没了,多吸点。 内嵌图片 1 枫叶也在由黄变红中。 内嵌图片 2 这个芦苇荡已经忘记是哪里了,应该是天鹅海的一部分吧。 内嵌图片 3 涓涓的山泉水随着小沟往下飞奔着留着,这些山泉水就是下面各种海的原始材料,加上各种钙化形成了各种各样的颜色。 内嵌图片 4 下面就是各种海了,具体的名字很多已经记不得了,反正就是各种漂亮啊。 内嵌图片 5 内嵌图片 6 内嵌图片 7 内嵌图片 8 内嵌图片 9 内嵌图片 10 内嵌图片 11 内嵌图片 12 内嵌图片 13 内嵌图片 14 内嵌图片 15 内嵌图片 16 内嵌图片 17 倒影,这个好像是镜海,据说每天早上来的时候湖水平静的就跟镜子一样,然后倒影着周围山川。 内嵌图片 18

0%