2010:悲观中乐观前行

2010-01-01 by Jinyang | No Comments | Filed in 生活随笔

09年的愿望落实情况(http://www.ist.cn/blog/post/life/20090104/62/):

2009
1. 结婚  | 结婚了,婚纱照:http://i9u.cn/

2. 房子 |  09年没买房子,房价直线上升,好在没买的钟山晶典貌似质量很差导致广大业主上街抗议,我就是那个没吃到葡萄的狐狸

3. 学习进步,维持工作或争取工作上更进步一些,保持不烦躁的工作心态 | 因为负责项目的关系,学习到了此前没有接触的一些领域 自己感觉也确实进步了先,心态上基本没太烦躁

4. 把自己的一堆网站该做好的做的好点大点,该卖的卖了,该扔的扔了 | 没什么网站做的好的,这点好几年了,真实鸡肋了

5. 更新部分数码设备(单反?) | 入了Sony A300 ,满意,本来就不是追求硬件设备的人
其他: 和老婆一起去了青海湖

2010:
1. 和老婆一起去一个美丽的地方旅行  希望是彩云之南
2. 通过个人的努力多赚点钱  昨晚小小的互联网从业人员,没能通过自身+互联网赚到钱真是很失败

 

运营商携号转网对全网增值类业务的影响

2009-12-23 by Jinyang | No Comments | Filed in 技术相关

年底了,3家运营商的携号转网(NP(Number Portability,号码可携带))工作应该也都做好了内部的开发测试工作,试想2010初估计就要3家做联调等(如果GXB真的用?推动的话),那也就是说明年2季度在试点省、市就可以真的做到携号转网了。

GXB对于自己家的这几个孩子肯定不会放任因为NP的出现而有大的转变的,所以电信、联通指望携号转网或单向携号转网缩小差距基本是没戏的,但新政策的出现总是多少要有一些用户流动的,不然也太不给老爸面子了,会挨打的。

电信运营商自身的运营受理系统因为本身就和资源系统、码号管理系统等紧密相连,所以不太需要做很多的改动即可,而作为增值业务因为本身定位就处于外层,原来单纯依赖号段头等做运营商归属判别的就要被用户投诉了,如果所有的业务都先去查询验证一下那肯定对码号资源系统压力太大。

是否可以像电信当前的策略一样所有业务不区分网内网外的平等处理?

从电信当前的规划来看,统一认证系统为前端系统提供对码号的甄别能力,那统一认证系统的压力就会变大(只需判断是否网内客户的场景也需要请求统一认证)。

以上,昨天晚上回家时想到的,很混乱,或许本来就是一个很混乱的事情吧。

Tags:

学习:应用程序(jsp)->Web容器(Apache)->缓存服务器(Squid)对缓存的控制

2009-12-05 by Jinyang | No Comments | Filed in 技术相关

最近一直在学习优化Squid缓存,看了不少基础知识。好多内容其实都是车东老师(www.chedong.com)多年前的杰作。(同时感谢 张宴:blog.s135.com ; 扶凯:www.php-oa.com)

因为系统早期没考虑什么缓存和优化,后来我又是直接部署使用了Squid,所以实际是Squid只是稍微缓存了一点内容更多的作用等于前端起了一个代理的作用(在前端限制了半连接攻击、迅雷等 作用也挺明显的)。

就缓存的不同层次,

1. Web容器 定义默认的缓存机制 只要是对图片、CSS等不方便自身显式控制缓存策略的内容指定出默认的缓存策略机制
2. 应用程序层 控制内容的缓存策略,如验证码等动态输出的是不应被缓存的,新闻等则应该被缓存;
3. Squid缓存服务层 按Web容器和应用程序的设定管理缓存内容并提供高效、高可靠的响应

记录下自己当前的设定以备改进(都是参考各位老师的blog结合自己的需求设定的,每个系统都有自己独特的需求):

1. Apache mod_gzip、mod_expires、mod_headers 设定 :
#gzip lijinyang 20091117
<IfModule mod_gzip.c>
mod_gzip_on Yes
mod_gzip_minimum_file_size 1000
mod_gzip_maximum_file_size 300000
mod_gzip_item_include file \.htm$
mod_gzip_item_include file \.html$
mod_gzip_item_include file \.jsp$
mod_gzip_item_include mime text/.*
mod_gzip_item_include mime httpd/unix-directory
# mod_gzip的临时工作目录: mkdir /tmp/mod_gzip;  chmod -R 777  /tmp/mod_gzip
mod_gzip_temp_dir /tmp/mod_gzip
mod_gzip_dechunk Yes
mod_gzip_keep_workfiles No
</IfModule>


#mod_expires lijinyang 20091127
<IfModule mod_expires.c>
    ExpiresActive on
    ExpiresByType image/gif "access plus 5 day"
 ExpiresByType image/png "access plus 5 day"
 ExpiresByType image/jpeg "access plus 5 day"
 ExpiresByType text/javascript "access plus 5 day" 
    ExpiresByType text/css "now plus 5 day"
 ExpiresByType image/x-icon "now plus 15 day"
 
    ExpiresDefault "now plus 1 day"
</IfModule>

#mod_headers lijinyang 20091127
<IfModule mod_headers.c>
     # 5 day
 <FilesMatch "\.(flv|gif|ico|jpg|jpeg)$">
  #Header set Cache-Control "public,max-age=432000"
  Header append Cache-Control "public"
  Header set X-Powered-By "
qh@ist.cn"
  Header set Server "QFE/1.0"
 </FilesMatch>

 # 5 day
 <FilesMatch "\.(pdf|swf|js|css)$">
  #Header set Cache-Control "public,max-age=432000"
  Header append Cache-Control "public"
  Header set X-Powered-By "
qh@ist.cn"
  Header set Server "QFE/1.0
 </FilesMatch>
 
 # 1 day
 <FilesMatch "\.(htm|html|jsp|mht)$">
  #Header set Cache-Control "public,max-age=86400"
  Header append Cache-Control "public"
  Header set X-Powered-By "
qh@ist.cn
"
  Header set Server "QFE/1.0"
 </FilesMatch> 
</IfModule>

官方文档有指出 mod_headers 是不可以直接修改 Date、Server两个参数的。

2. JSP缓存设定:
//设置不缓存
response.setHeader("Pragma","no-cache");
response.setHeader("Cache-Control", "no-cache, no-store, max-age=0, must-revalidate");
response.setDateHeader("Expires",-1);

因为默认的是把内容都做了缓存了的,所以只需要在不可以被缓存的页面做下设定即可,在应用中做的设置是会覆盖掉web容器apache层面的设定的。

3. Squid 设定
squid不在单独的是设置缓存规则。只是定义下可缓存对象的大小 文件夹等,不过返给浏览器的header需要稍微改动下以达到安全+有效的目的:
#不返回客户端squid版本信息
via off
reply_header_access Server deny all
reply_header_access Warning deny all
reply_header_access P
roxy-Connection deny all
reply_header_access X-Cache-Lookup deny all
#返回一个X-Cache信息
reply_header_access X-Cache allow all
reply_header_access Expires allow all
reply_header_access Cache-Control allow all
reply_header_access age allow all

合理的设置的表现在于看到数据和效果后都感觉是透明有数的(页面第一次访问未命中缓存的,第二次就应该命中,此前对各层设置并不理解,总是在猜测,其实对任何系统都应该深入理解而不能全靠猜测),现在94%的流量都是缓存在承担(请求只有60%多,使用axaj较多)

虽然Apache 1.3应该用的人越来越少了,不过大体的原理都是相通的。系统比较稳定 还真的没计划升级Apache版本。

Tags:

使用Google Analytics的Custom Alert功能实现自定义流量监控服务

2009-12-03 by Jinyang | No Comments | Filed in 技术相关

因为Google Analytics不是实时的,加之可能因为被墙什么的出现流量统计丢失的问题,所以虽然同时使用了Google和CNZZ的服务,平时还是以看CNZZ的服务为主,CNZZ的在线详情挺实用。
之前雅虎统计是有流量报警功能的,只是好像太容易被太触发了,搞的邮箱一堆邮件,后来换成了量子统计因为考虑CNZZ拿了风投更靠谱些就替换掉了它。

CNZZ的报警服务是收费的,国庆时虽然很想启用,并且不支持电信手机,也就没用起来。

Google现在的Alert,看上去除了当前最小时间粒度暂时还是天外,各方面的灵活性还是很强大的。

 (图片仅供参考,与任何公司无关)

先定义了一个PV降低30%时的通知,希望Google进一步提升服务把时间粒度变的更细小些、过滤条件可以添加多个(这些会作为收费的特性吗?)。
Gmail一直都启用了转发到139和189邮箱,这样网站有些异常就容易及时发现(现在以天为单位的粒度肯定是不满足生产需求的)。

Tags:

南京移动家庭有线宽带使用小记

2009-12-03 by Jinyang | 1 Comment | Filed in 生活随笔

这几天把家里的宽带从电信我的e家换为了移动的移动之家 家庭宽带,像我这样价格敏感型用户,因为只是家里用用,所以想着移动毕竟也都是新铺的光纤线路,带宽质量上也应该差不到哪去。

这两天使用的感受看如果不是有什么特别对带宽高的要求,移动还是挺靠谱的,PPLIVE、QQLIVE看电视视频都不卡;下载一般也都在200K以上(基本等同电信的2MADSL,稳定性上有点差距)。
下面是在晚上9点多使用QQ邮箱速度测试的截图
 

南京移动宽带也是使用的标志的PPPOE拨号,所以路由上网也应该没问题的。

国内的企业总是这样,自己有优势的东西就是不降价,作为后来者时也知道拿出来一点点运营技巧来拉拢客户。总之就是“有竞争才有进步”,否则我这小市民只能一直用电信的移动业务+移动的宽带业务。

Tags:

Squid/3.0+Apace/1.3+mod_gzip/1.3.26.1a 测试

2009-11-18 by Jinyang | No Comments | Filed in 技术相关

Q项目从来不需要操心带宽的事情,加之此前尝试为Web容器增加cache module出现不太顺利而放弃,所以一直没有启用gzip压缩(

 

 

 

  FJapache/8.0 (Unix) ,对应Apache1.3)。但是看了车东老师的文章: mod_gzip:Apache的HTTP压缩优化(http://www.chedong.com/tech/compress.html) 说到:"HTTP压缩对于纯文本内容可压缩至原大小的40%一下,从而提供60%以上的数据传输节约",感觉还是很值得操作。毕竟使用YSlow得分太低也不光彩。(Grade:F; Overall performance score 31;

 

  Ruleset applied: Classic(V1)

 

  URL: http://qh.ct10000.com/index.html )

 从sourceforge直接下载很久已不更新的mod_gzip.so.gz http://sourceforge.net/projects/mod-gzip/files/ ,直接配置加载后竟然没报错 (非单纯的Apache,所以总担心在兼容性上不友好,以至于都不喜欢折腾它了 )。
有图有真相:
未启用gzip前:
启用gzip后: 

 按照上图计算: 5/18=0.277 ,足足节约了72%的网络传输。(或许因为代码写的不好,所以被压缩后效果更明显 )

在web的前端有使用Squid/3.0做缓存,较多的网友反馈Squid3之前的版本对gzip的支持需要做一些配置修改或不太友好,我实际使用中未进行额外针对性的测试(添加了vary后squid提示不推荐就删除了),次日发现压缩后的页面已被缓存。

Tags:

天下黄河贵德清 新物理高度

2009-11-08 by Jinyang | 1 Comment | Filed in 生活随笔

今天早上本来计划去加班把套餐展示+套餐比对+套餐预受理给搞定的,但是最近事情太多了,很繁琐,就想出去投个气,毕竟昨天加班+熬夜也算基本把框架基本定了,整个系统也算逐渐清晰可用了。

青海大的景点基本都去过了,近的也就塔尔寺和贵德,塔尔寺我也去过了,所以就只能选择贵德或再找其他的景点。先找了地图,看上去贵德里西宁挺近的,就直接和西宁打地界。

打车去西宁汽车东站的路上和师傅聊了下,说贵德离西宁300公里,开车2小时,贵德号称青海的小江南,有温泉,腿脚不灵活的去泡泡就会走路了,当然说是要泡1个月,回去再在床上保暖10多天,夏天的水滚烫,过年了的时节最合适。贵德的气温比西宁高一些,要比西宁少穿一件衣服。

车票24含保险(票面上直接包含的,非另售的),车次还不少(一小时一班)。只是车子在市区先走了半个多小时。出西宁走西塔高速(西宁-塔尔寺)就开始爬坡(这次出来没待相机,主要是相机包太大了,手机拍照好烂,哎。),

西宁拉鸡山,上图就是3800米的山口:
拉鸡山属日月山支脉,藏语称“贡毛拉”,意为嘎拉鸡(石鸡)栖息的地方。拉鸡山是贵德与湟中的界山,由西向东蜿蜒,最高峰海拔4524米。海拔3800余米的拉鸡山山口地理位置重要,宁果公路穿越而过,山口南侧还有通往湟源的公路。      拉鸡山北坡险峻,山岩多有裸露,除夏季外,山坡常常白雪覆盖。南坡平缓,宜牧草生长。这里的红山嘴草场是尕让乡夏季牧场,北从拉鸡山口至分水岭,南至大滩村,中心海拔3746米。      草场内坡地平缓,水源充沛,牧草生长良好。每当夏季来临,山坡上绿草如茵,繁花似锦,牛羊成群,牧歌声声,还有空阔的蓝天、悠悠的白云,是闹市人向往的佳境。  

过了拉鸡山口就开始全部是下坡了,连续40里下坡,严防制动失灵。

 

一路上没什么庄稼,当地局面主要靠放牧为生:
 

 车子一路下坡,摩擦很严重,下到半山就需要用水降温清洗
 
 

 

终于看到黄河啦!

进县城下车后,先在大街上走了走,找吃的打点下肚子,

 
看到电信营业厅,就顺便进去看了下,人还有几个,也干净简洁,挺好。

中午吃了当地的米饭,还是和西宁一样是煮烂了的米饭。倒是问了店家如何去黄河边,店家还是给很清楚的指点了下,说是不算远,我们就走下去了,
 

贵德号称是梨乡,我们过来的季节已经是冬天了(但是依然非常热,离太阳太近了),只能看到一些树上还挂剩下的果子,
 

中间有问了下路,就顺着上图一直走下去了,果然不一会就到了河边,
 

洗了个脸,剪了几块石头,因为听说最晚的班车是5点的,就充充回去了,

Tags:

网站对外统一URL链接、基于拼音缩写的快速功能定位跳转

2009-11-06 by Jinyang | 2 Comments | Filed in 技术相关

功能性的门户网站,难免有很多外部的网站做了到站内某些功能的链接,这些链接初期是有效的,但因为网站的改版升级,双方又不能及时有效的沟通变更难免会导致原来的一些链接变成空链, 如果网站本身能主动提供一个统一的对外url供外部系统调用(内部使用当然也是可以的),自然就可减少不必要的劳动。

我的规划如下;

 /go/*  的链接统一用叫urlRedirect的sevlet进行处理;

/go/命令/关键字
      其中命令规划: n:按名称 l:列表 q:基于拼音简写快速定位 c:按编码 s:搜索 

如: /go/l/all  即表示列表全部链接资源
     /go/n/OneHome 即表示按名称查询"OneHome"的链接

示例图1:
 

如果根据条件可以唯一匹配到URL则自动跳转至匹配到的URL,如匹配到多个或无有效的匹配数据则提示用户
示例图2:
 

在上述URL跳转的功能上,还可以做出基于拼音简写指令的快速跳转功能,
如用户输入jfgl后按回车即可自动跳转到相应页面,
示例图3:
 

上述功能也是一时兴起随手而开发的,基本也没花费太多的精力做规划,同事也有提出可以在此基础上再做个智能的指令输入提示,呵呵,不过估计这种命令行式的功能也只有少数人会用。倒是按拼音把所有功能都归类一下倒是能方便用户。

Tags:

第一次参与抽奖

2009-11-03 by Jinyang | 2 Comments | Filed in 生活随笔

第一参与抽奖,上午先进行了几次试验都比较顺利,担心电脑坏掉还特地备份了完整的数据和程序到U盘。局方市场部准备的很充分,拉了横幅,并张贴了2张宣传画,因为是电视电话会议室,最后还特地支起了一个投影。

 

Tags:

Squid+Apache+Tomcat 缓存 负载 双机

2009-10-31 by Jinyang | No Comments | Filed in 技术相关

10-1前夕因为系统重新部署(原因见上上篇)导致整个假期过的都比较郁闷,每天睡前都要看下系统是否正常,早上也是早早起来先看看服务down了没,还临时搞了个监控页面(不太容易识别异常所以就没做短信报警),出去玩也隔一会手机查看下。因为是生产系统,问题不太容易定位,每次兴奋的改了配置或程序总以为可以了,第二天却又出现系统慢的无法访问的故障。

稳定可以说一个系统最重要最基本的要求了,有基础才有可能做出优秀的应用功能,否则一切都白扯。

参阅了N多资料,结合现有资源(2台Web)做了简单的改进,一个月的观察下来总得比较满意,起码是再没有出现过慢的无法访问的现在。

当前的逻辑结构如下:

1. 域名->公网IP->私网IP

2.Squid 监听 私网IP:80

3.Apache 监听 127.0.0.1:80

4.Apache 使用JK2 集群2个tomcat

之所以配置了squid和apache都监听80端口 是因为如果真实web服务不使用80端口 就会自动被加上端口

 

Tags:

返回顶部