搬回来了原来空间,刚刚,独立主机就是爽N倍呢,我还是忍不住试试,现在过多两天看看会不会出现问题了,唉,在国外都要提心吊胆,我靠,可惜就是肉身没能力翻过墙头,真TMD悲剧啊.
原因就是wordpress太过慢,刚才在dreamhost那边有时出现500错误,其实我的ip都在300左近,不知道为什么压力这么大!
如果ip过千,不知道dreamhost是否承受得了,当然就是wordpress造成,已经安装了cache插件了.
搬回来了原来空间,刚刚,独立主机就是爽N倍呢,我还是忍不住试试,现在过多两天看看会不会出现问题了,唉,在国外都要提心吊胆,我靠,可惜就是肉身没能力翻过墙头,真TMD悲剧啊.
原因就是wordpress太过慢,刚才在dreamhost那边有时出现500错误,其实我的ip都在300左近,不知道为什么压力这么大!
如果ip过千,不知道dreamhost是否承受得了,当然就是wordpress造成,已经安装了cache插件了.
写了两个爬虫,一个go语言爬虫,一个java语言爬虫,在一部老机P4 3.2E 2G内存的debian7下运作,go1.1 , java是 openjdk 7,
分别爬虫,程序原理是差不多的,但golang恐怖,爬行的线程大概,golang的爬死了人家网站,我也只是一条上行1M的光纤adsl而已,java的就爬不死了。
go语言的,cpu占用100%, 但java的只占用了50%, 估计是go语言的协程和线程一起了,这东西并行太恐怖了.
算了,好玩啊,这几天学习java和golang语言的知识很多,不摆弄它们了,都是赶正事去。
现在开着的是go语言爬虫,调小一点线程,间隔也调大点,做人要厚道呢.
刚才看了下java有没有协程,貌似还没有呢,看来go语言是种好选择。
不过java还是要用的,代码量积累嘛.
使用的github.com/bmizerany/pq, 今天从mysql转换到postgresql, golang的postgresql的pq库在win下有问题, 就是非常慢,在linux是没问题的,快得很.
https://github.com/lib/pq/issues/69 <= 这里有提及, 按照文中修改,在windows下就没问题了: 抄过来修改方法吧!修改 conn.go: conn.go, line 23...
var ( ErrSSLNotSupported = errors.New(“pq: SSL is not enabled on the server”) ErrNotSupported = errors.New(“pq: invalid command”) systemUsername = “” )
conn.go, line 69…
if o.Get("user") == "" { if systemUsername == "" { u, err := user.Current() if err != nil { return nil, err } else { systemUsername = u.Username } } o.Set("user", systemUsername) }
另一个连接库https://github.com/lxn/go-pgsql还没有试过,看英文资料是没问题的,但看代码要改很多东西啊, 所以有时间再搞.
gevent还是需要自己调整,说的就是在那里放个gevent.sleep(0), 不知道我的想法对不对了,因为爬虫需要读写mysql, 还是个测试爬虫呢,太过密集的io读写,python用gevent写的很慢,本以为可以快过用线程写的那个,但现在发觉不是呢,差太远了,算了,暂时还是放弃gevent的学习吧,慢慢来,场景不同,应用工具不同。
gevent.sleep(0)放的位置不同,处理顺序又不同,要令cpu连续密集的工作才行,这样才能发挥gevent的威力.
不过话说回来,用go语言写的那个爬虫,越调整速度越快,现在快得离谱,最少是python版本的爬行速度六七倍呢,厉害啊,当然golang能应用双核cpu的威力, 处理速度当然快了, go语言的爬虫程序基本占用双cpu到90%去,我想这样快的采集对方网站,给封ip的机率很大呢,可能用python写的慢速爬虫没这么容易封啊,哈哈哈.
另外java写的爬虫程序始终咱占资源太厉害,所以现在主力工具先换成golang吧!