我终于堕落了,开始搞前端技术

作者 : admin 于 2009年06月29日, 04:31:13
2009
06-29

flex-3-cookbook

好久没买书了,周末烈日炎炎,购书一本。

我为什么总反对用微软的东西做企业级应用

作者 : admin 于 2009年06月26日, 13:01:02
2009
06-26

其实,我反对微软,只是反对他的不开源,蓝屏,其应用在中小企业项目中的性价比。

自从SAP里做开发的一个同学给我做了一个很简单的演示,让我彻底明白微软为什么围绕中小企业,甚至中小企业的产品都做不好。

e5beaee8bdaf

简单目算一下,你有何感想。

大家在任意一个版本的excel上测试一下。这只是一个最简单的例子,如果你用.NET框架去做产品,可想而知,你的风险有多大。

再看google

e69caae591bde5908d-1

精确度提升一个小数点,但这种处理差强人意,从数学上,33.3×3依然不等于百分之百。

初创公司的运维应该怎么做(lamp架构)2

作者 : admin 于 2009年06月24日, 18:08:39
2009
06-24

今天活进度不错,闲下来再扯几句,接上篇: 初创公司的运维应该怎么做(lamp架构)

事情总得发展,一不小心就会发展到两台以上的服务器。

这时候,如何部署就是问题了,既要节约硬件带宽资源,省钱,又要充分发挥我们硬件的特性。

1、数据库,总得做个热备吧,主从复制,两个服务器就足够,当然更多的话,你可以多个从数据库。这时候主服务器挂了,备份的数据库可以立马变成主数据库进行工作,而主数据库又变成从的,这样达到无缝的切换。数据库多了,写压力集中在主数据库,而从数据库就可以分担读的压力。一般系统读压力大大高于写压力(特殊的系统除外),这样我们把其他服务器的CPU还能合理利用上。

2、如果但是数据库分到其他服务器上,CPU看似是充分利用了,带宽也得去利用。mysql同步走内网流量,自己用switch相连,而其他服务器同样可以分担http的负载。这时候,我们要考虑如何把原来独立服务器的http流量分布到其他新服务器上。直接做个nfs,把附件图片等分布到新服务器上是个最简单最懒的方式,也是短期最有效的,因为我们可以更换一个变量名就把url指向另外的服务器。

3、分频道也是办法之一,我们把一个大网站拆成几个小网站,分散到几个服务器,包括代码、数据、数据库,不过这种方法对小网站是费力不讨好,分开了,还整合不?分频道之外,还可以分功能,可以把email单独拿出来,也可以把一些消耗资源的功能单独拿出来。

4、最合理的,还是要综合考虑当前的服务,压力所在。把CPU、存储,带宽资源需求的模块都列出来,然后平均分布,再寻找平均分配资源的部署方式,这样是最优化的,但也对开发人员提出了更高的要求。程序代码的模块化、可零活配置、可迁移、可扩展是进行优化的前提。所以,在网站建设初期,最好考虑如何去扩展站点。

---------------------

貌似运维跟程序又掺合到一起了,当然,好的项目是需要各部门合作的,团队力量总是大的,所谓:瘦死的骆驼比狗大。

初创公司的运维应该怎么做(lamp架构)

作者 : admin 于 2009年06月22日, 13:23:02
2009
06-22

这里说的初创公司,也包括一些小型的网络公司,运维是很头疼的事情。

初创公司,包括一些现金有问题的公司,资金紧张,买不起大量的设备,用不起高级的运维人员,财政捉襟见肘。

这种公司一个很重要的问题,就是要充分利用现有的资源,把每一分钱的效益都充分榨出来。

从技术上讲,大部分瓶颈都发生在带宽上,而大部分的灾难都发生在数据丢失上,底下,从以下两个问题来描述如何去搭建高效安全的小企业级应用系统。

单台服务器方案:

这样的公司实在是穷疯了,只有一台服务器,一个百兆共享。

配置:linux nginx mysql php 这是标配。单台服务器就别考虑负载均衡之类的东西了,只要保证http服务够快,充分去利用idc的带宽,跑高跑满是前期要做的。

如果只是网站,没有下载之类的,nginx是最佳的选择(做虚拟主机安全性太差)。这个时候,优化好mysql,搭配nginx优秀的性能,一般瓶颈优先出现在带宽上。

不建议把带宽跑得很满,因为idc一般都会在交换上限制流量,所以,不要等到相应很迟缓的时候再考虑增加带宽,如果带宽实在闲着没用,开个ftp,给员工做文档备份,装个邮件服务器,解决了内部沟通的问题。

数据安全,是一定要做的。mysql前期可以每天全备份,找个本地的机器每天下载备份,虽然浪费点人工,但不失为最安全的备份。如果本地都能搞丢……就拿块硬盘自己拍自己。

网站程序建议用svn版本控制发布,这样,就有了源码、svn库、本地开发三个以上的备份。而网站的附件,在程序编写前就得考虑增量备份的方式,合理设计存储结构,每天增量备份(因为附件多的话,每天全备压力会大)。而每天的增量,设计一个全备,一旦出现数据问题,有前边的全备,当日的增量,这样会把损风险和失降低到最低。

—————————————-

临时撰写,想哪里写哪里。希望有经验的一起交流。

一只歪吐舌头的狗

作者 : admin 于 2009年06月22日, 12:52:16
2009
06-22

img_5100

1

美女:歪吐舌头斜瞪眼不是狗的专利!!!

2

长颈鹿:我也会!

3

楼上,人更会的!

我是跳票王

作者 : admin 于 2009年06月15日, 21:38:46
2009
06-15

终于又发现自己这个毛病了。

做事情还得靠队伍,谁想搭伙做点东西?

我太需要团队了,离开团队的写作,任何作品都显得那么沧桑……

大事件-五道口的双层彩虹

作者 : admin 于 2009年06月14日, 23:10:11
2009
06-14

IMG_5035 IMG_5034 IMG_5033 IMG_5032 IMG_5031
IMG_5030        

针对尚趣网(vsuch.com)的简单优化

作者 : admin 于 2009年06月12日, 15:42:59
2009
06-12

最近,一友找我去优化apache,了解后,是vsuch.com网站的问题。

vsuch网站使用lamp+windows混合平台(汗),追究历史,原来网站用.net编写,后用php重构了整个网站。

整改前 Mysql运行在linux机器上,php运行在windows平台上,中间局域网方式连接。

网站日访问量不小,alexa排名6800,windows平台明显抗不住,经常莫名其妙的问题。(题外话:我最早维护的服务器也是windows,apache在上边很不稳定)

了解后,我感觉一台服务器就足矣,放弃了apache的方案,安装了nginx+php,数据库依然沿用原来的。

整改后,linux负载稍稍升高,mysql负载不变,http的负载在nginx下并没有表现出多高。顺利完成了迁移。

后公司又开通了cdn服务(有钱),速度有了很明显的提升。

-----------------------------------------

根据其公司目前的技术结构,我提出了很多优化和整改的想法,希望每个创业网站都能走好。

-----------------------------------------

在windows下玩apache php不能不知的几个小设置

作者 : admin 于 2009年06月10日, 17:09:26
2009
06-10

1、PHPIniDir “D:\PHP5″

这样不用每次都把php.ini拷贝到C:\Windows下

2、set Path=D:\PHP5;D:\PHP5\ext;%Path%

这样不用每次把那些dll拷贝到C:\Windows\system32下

Centos4.7(Linux)下架设BT服务器

作者 : admin 于 2009年06月09日, 13:21:02
2009
06-9

穷人,就得想穷人的办法,带宽被坑,严重缩水,为了分享大量资源,最终决定使用bt发布一些大资源。

网上找了很多BitTorrent架设btserver的教程,不是版本不对,就是安装复杂,所以,我找了个比较老的版本,一次装上调通。

我使用了BitTorrent-3.9.1,官方下载地址为 http://download.bittorrent.com/dl/archive/BitTorrent-3.9.1.tar.gz

防止墙,我传到本地 bittorrent-3.9.1.tar.gz

首先你服务器要预装python,centos4.7预装python2.3,我预留,但服务器环境python使用了2.5版,2.3不能删,yum对版本依赖性比较强,还得预留。

解压 BitTorrent-3.9.1.tar.gz 后进入文件夹,按照说明进行安装:

  1. python setup.py install

即可安装。当然中间会遇到各种问题,大部分是关于python版本或者依赖的,错误可以跟帖发一下,一起解决。

好了,首先启动服务器:

  1. python bttrack.py --port 6969 --dfile dfile.log

其中port参数是服务的端口(一定记得调一下防火墙),dfile是日志

然后打开 http://ip:6969/ 如果显示

BitTorrent download info

* tracker version: 3.9.1
* server time: 2009-06-09 05:12 UTC

则证明服务启动成功。

下面创建一个种子文件

  1. btmaketorrent.py http://bt.sunboyu.cn:6969/announce /root/soft/xmlrpc-epi-0.54.tar.gz

这样,就针对 /root/soft/xmlrpc-epi-0.54.tar.gz 文件创建了一个种子文件,使用的track地址是 http://bt.sunboyu.cn:6969
生成的种子位置,是这样:如果针对一个文件,则在文件同一文件夹下,如果针对文件夹,则在文件夹同级目录。

然后发布一个种子(很多人可能对种子这个概念不了解,可以查看资料,关于bt协议的)

  1. btdownloadheadless.py /root/soft/xmlrpc-epi-0.54.tar.gz.torrent --save_as /root/soft/xmlrpc-epi-0.54.tar.gz

发布种子有很多参数要限制,可以看命令具体参数,比如占用的端口跟限速等。

我测试了一下,linux发布的文件,就可以下载了。这只是服务器建立的阶段,要管理,还得写好多管理脚本,否则文件多的话,手工可受不了。

另外还有好多的开源web监控、管理、发布的系统,大家可以下来搭建尝试。欢迎交流。

相关资料 http://zh.wikipedia.org/wiki/BitTorrent

 Page 1 of 2  1  2 »