“Majestic-12”的版本间差异
Arthur200000(讨论 | 贡献) (以内容“{{Editing|Arthur200000|大坑慎入,StephDC的话帮忙补完的说}} {{Project | name = | logo = MJ12logo.png | screenshot =MJ12screenshot.jpg | caption ={{PAGENAME}...”创建新页面) |
Arthur200000(讨论 | 贡献) (→外部链接) |
||
(未显示同一用户的3个中间版本) | |||
第8行: | 第8行: | ||
| released = | | released = | ||
| app = | | app = | ||
− | | platform = | + | | platform = 跨平台(.NET) |
| subproject =[[#DSearch]]、[[#HTML parser]] | | subproject =[[#DSearch]]、[[#HTML parser]] | ||
− | | status = | + | | status = 运行中 |
| genre = | | genre = | ||
| website =http://www.majestic12.co.uk/ | | website =http://www.majestic12.co.uk/ | ||
第17行: | 第17行: | ||
|Text1 = | |Text1 = | ||
}} | }} | ||
+ | {{PAGENAME}} 是一个分布式的搜索引擎。通过运行一个基于 [[w:.NET|.NET]] 写成的网络爬虫,客户端下载、解析并打包结果发送回一台运行在奔腾 CPU 上的中心服务器进行索引处理。 | ||
+ | |||
+ | ==如何加入== | ||
+ | # 前往项目官方网站。 | ||
+ | # 下载与自身版本对应的运算程序。我们知道下载速度很可怕,你可以试试 [http://pan.baidu.com/s/1dDo5r0X 百度盘]。 | ||
+ | # 解压并启动程序。 | ||
+ | #* 对于使用 Mono 运行 .NET 程序的非 Windows 平台,官方'''强烈不建议'''使用 64 位 mono,然而我们'''并没有'''发现会出什么问题。如果你觉得 64 位快或者懒得装 32 的,就用吧。启动方式永远是 cd 进去 mono xxx.exe 没跑的。 | ||
+ | #** 在 Mac OS X 上,你可能想预先运行一堆 ulimit 命令来提高允许同时最大打开的文件数量以便避免 MJ12 线程开多的时候无法打开文件。懒惰的编者们早就忘了到底怎么调,总之 help ulimit 一下啦。 | ||
+ | #** 你还可以使用 mono 的一些优化参数来略过一些检查以提高性能,反正严谨性对爬虫来说重要不到哪里去。Mono 的 <tt>--llvm</tt> 选项可以让 mono 尝试和 [[w:LLVM|LLVM]] 打交道以获得更高的速度,并且不会造成什么稳定性降低。 | ||
+ | # 打开设置(如果你是非 Windows 上的无 GUI 版本的用户,打开 localhost 上的网页进行设置;如果网页服务器没启动,MJ12 在控制台有选择端口手动启动的选项),注册账号并且登陆。 | ||
+ | # 你现在已经加入了这个项目,可以现在去官网跑一圈加入 Team China。接下来要进行一些配置,以便 MJ12 如你所想的那般工作。 | ||
+ | |||
+ | ==参数设置== | ||
+ | 一份样例参数设置可见于 [[#外部链接]] 中的一个讨论帖。 | ||
+ | |||
+ | === Personal 个人 === | ||
+ | 建议设置优先处理你认为访问速度会较快的 TLD(顶级域名,.cn 那玩意),例如如果你住在中国你会猜测 cn 域名的访问速度较快,那么就将它放进 preferred TLDs 里面。你可以设置一个可爱的 Node name。 | ||
+ | |||
+ | === Connection 连接 === | ||
+ | 你最好诚实地告诉 MJ12 你的带宽量,然后按照你想让它用多少加限制。对于别人也会用的半公共电脑来说(完全公共的电脑跑分布式计算可不大道德哦),我们一般上传下载设置 60%,另外在 [[#Profiles_配置]] 里面启用 Full Speed When Idle,自己用电脑的时候右键 MJ12 要求停转半小时。 | ||
+ | |||
+ | 如果你身处内网,取消选择 Connect to superpeer directly 可能是个好选择,毕竟在复杂的网络环境中 HTTP 还是比较稳定。 | ||
+ | |||
+ | Bandwidth Check Period 可以适当放宽,我们本来就没准备那么严格限速。Network Communications Timeout 可以放低一点到 5,早点放弃速度慢的网页把锅甩给墙外的人们是个好选择。 | ||
+ | |||
+ | === Crawler 爬虫 === | ||
+ | ;Bucket:“网址桶”工作包,类似 Workunit。 | ||
+ | |||
+ | 你可以调高同时运行的线程数(async workers)。MJ12 允许多个线程对着同一个桶爬,反之亦然。基本上线程数可以是桶的数量的二倍,而桶的数量为以 Mbps 计算的网络带宽数值的五倍(保守估计)。 | ||
+ | |||
+ | 我们强烈建议你拉低 Generals 和 CPU Usage Tuning 里面的各种 Delay 到 1,毕竟新机器完全不需要担心 CPU 占用,再说还可以去 [[#Misc 杂项]] 调优先级。同样,我们建议你关闭上传间的等待(No delay between upload trunks)。Stop if uploads greater than, and start when less than 和 Reserved buckets 可以适当加大。 | ||
+ | |||
+ | 在网页上你可以打开 Minimise Disk activity (IO) during archiving,我们一般认为这是个好主意。 | ||
+ | |||
+ | ==== More Crawler 更多 ==== | ||
+ | 这里控制爬虫的一些额外选项。我们建议你创建一个内存盘([[w:List_of_RAM_drive_software|ramdisk/ramdrive]]),并且把它设置为爬虫的临时目录,因为临时目录需要频繁且高速的读写。在 Linux、BSD、OS X 这种 Unix 类系统上,你可以直接使用 /tmp(心情好的话可以用 /tmp/mj12 之类的目录隔开)。 | ||
+ | |||
+ | === Profiles 配置 === | ||
+ | 这里可以设置各种条件下的工作模式。 | ||
+ | |||
+ | === Misc 杂项 === | ||
+ | 这里你可以调整工作程序的进程优先级,好让它更好地与其他程序分享资源。如果你运行计算密集型的分布式计算程序,建议不要让任何优先级为 Idle,否则慢死你。 | ||
+ | |||
+ | 你可以设置 Web server 以便在网页上甚至从其他电脑有密码或无密码地管理 MJ12。 | ||
+ | |||
+ | 在 Real misc stuffs 里面,你可以适当加大每个 Bucket 的缓冲区、加大内存清理间隔和阈值。 | ||
+ | |||
+ | === Archiving 打包 === | ||
+ | 这里控制压缩结果并发送的方式。我们一般设置 Archiving Delay 为 1,就像别的延迟一样。是的,我们不知道 0 的时候会不会关闭所以就瞎找了个最小的。 | ||
+ | |||
+ | 我们一般把 Word size 和 Dictionary size 开最大(分别是 128 和 16)来最小化结果体积以便在国内可怕的网络环境中能更快地上传,尽管那可能会累坏服务器。你可以加大一些 In Memory Sort Buffers,加一点点就好。 | ||
+ | |||
+ | ==DSearch== | ||
+ | DSearch 就是搜索本身。 | ||
+ | |||
+ | ==HTML parser== | ||
+ | HTML 解析器,据说一直在变强。 | ||
+ | |||
+ | ==外部链接== | ||
+ | * [http://www.equn.com/forum/thread-38644-1-1.html 我的MJ12立刻就超过了StephDC] - Arthur200000,在本站中极其稀有的对本项目的讨论,有一份参数设置。 | ||
+ | * [http://reboot.pro/files/download/284-imdisk-toolkit/ ImDisk] 是一个适用于 Windows 的内存盘程序。 | ||
+ | {{DC topics}} |
2015年5月28日 (四) 09:59的最新版本
该页面正在被编辑 用户 Arthur200000 正在编辑该页面,尚未完工。请其他Wiki用户不要同时编辑,以避免冲突。
该用户的说明:大坑慎入,StephDC的话帮忙补完的说 。 如果该页面长期无人编辑,请去除该模板并添加上合适的页面状态模板。 欢迎无wiki账号的用户到论坛的Wiki系统讨论区(注册)参与讨论,有账号用户请到讨论:Majestic-12发表见解。 |
Majestic-12 是一个分布式的搜索引擎。通过运行一个基于 .NET 写成的网络爬虫,客户端下载、解析并打包结果发送回一台运行在奔腾 CPU 上的中心服务器进行索引处理。
如何加入
- 前往项目官方网站。
- 下载与自身版本对应的运算程序。我们知道下载速度很可怕,你可以试试 百度盘。
- 解压并启动程序。
- 对于使用 Mono 运行 .NET 程序的非 Windows 平台,官方强烈不建议使用 64 位 mono,然而我们并没有发现会出什么问题。如果你觉得 64 位快或者懒得装 32 的,就用吧。启动方式永远是 cd 进去 mono xxx.exe 没跑的。
- 在 Mac OS X 上,你可能想预先运行一堆 ulimit 命令来提高允许同时最大打开的文件数量以便避免 MJ12 线程开多的时候无法打开文件。懒惰的编者们早就忘了到底怎么调,总之 help ulimit 一下啦。
- 你还可以使用 mono 的一些优化参数来略过一些检查以提高性能,反正严谨性对爬虫来说重要不到哪里去。Mono 的 --llvm 选项可以让 mono 尝试和 LLVM 打交道以获得更高的速度,并且不会造成什么稳定性降低。
- 对于使用 Mono 运行 .NET 程序的非 Windows 平台,官方强烈不建议使用 64 位 mono,然而我们并没有发现会出什么问题。如果你觉得 64 位快或者懒得装 32 的,就用吧。启动方式永远是 cd 进去 mono xxx.exe 没跑的。
- 打开设置(如果你是非 Windows 上的无 GUI 版本的用户,打开 localhost 上的网页进行设置;如果网页服务器没启动,MJ12 在控制台有选择端口手动启动的选项),注册账号并且登陆。
- 你现在已经加入了这个项目,可以现在去官网跑一圈加入 Team China。接下来要进行一些配置,以便 MJ12 如你所想的那般工作。
参数设置
一份样例参数设置可见于 #外部链接 中的一个讨论帖。
Personal 个人
建议设置优先处理你认为访问速度会较快的 TLD(顶级域名,.cn 那玩意),例如如果你住在中国你会猜测 cn 域名的访问速度较快,那么就将它放进 preferred TLDs 里面。你可以设置一个可爱的 Node name。
Connection 连接
你最好诚实地告诉 MJ12 你的带宽量,然后按照你想让它用多少加限制。对于别人也会用的半公共电脑来说(完全公共的电脑跑分布式计算可不大道德哦),我们一般上传下载设置 60%,另外在 #Profiles_配置 里面启用 Full Speed When Idle,自己用电脑的时候右键 MJ12 要求停转半小时。
如果你身处内网,取消选择 Connect to superpeer directly 可能是个好选择,毕竟在复杂的网络环境中 HTTP 还是比较稳定。
Bandwidth Check Period 可以适当放宽,我们本来就没准备那么严格限速。Network Communications Timeout 可以放低一点到 5,早点放弃速度慢的网页把锅甩给墙外的人们是个好选择。
Crawler 爬虫
- Bucket
- “网址桶”工作包,类似 Workunit。
你可以调高同时运行的线程数(async workers)。MJ12 允许多个线程对着同一个桶爬,反之亦然。基本上线程数可以是桶的数量的二倍,而桶的数量为以 Mbps 计算的网络带宽数值的五倍(保守估计)。
我们强烈建议你拉低 Generals 和 CPU Usage Tuning 里面的各种 Delay 到 1,毕竟新机器完全不需要担心 CPU 占用,再说还可以去 #Misc 杂项 调优先级。同样,我们建议你关闭上传间的等待(No delay between upload trunks)。Stop if uploads greater than, and start when less than 和 Reserved buckets 可以适当加大。
在网页上你可以打开 Minimise Disk activity (IO) during archiving,我们一般认为这是个好主意。
More Crawler 更多
这里控制爬虫的一些额外选项。我们建议你创建一个内存盘(ramdisk/ramdrive),并且把它设置为爬虫的临时目录,因为临时目录需要频繁且高速的读写。在 Linux、BSD、OS X 这种 Unix 类系统上,你可以直接使用 /tmp(心情好的话可以用 /tmp/mj12 之类的目录隔开)。
Profiles 配置
这里可以设置各种条件下的工作模式。
Misc 杂项
这里你可以调整工作程序的进程优先级,好让它更好地与其他程序分享资源。如果你运行计算密集型的分布式计算程序,建议不要让任何优先级为 Idle,否则慢死你。
你可以设置 Web server 以便在网页上甚至从其他电脑有密码或无密码地管理 MJ12。
在 Real misc stuffs 里面,你可以适当加大每个 Bucket 的缓冲区、加大内存清理间隔和阈值。
Archiving 打包
这里控制压缩结果并发送的方式。我们一般设置 Archiving Delay 为 1,就像别的延迟一样。是的,我们不知道 0 的时候会不会关闭所以就瞎找了个最小的。
我们一般把 Word size 和 Dictionary size 开最大(分别是 128 和 16)来最小化结果体积以便在国内可怕的网络环境中能更快地上传,尽管那可能会累坏服务器。你可以加大一些 In Memory Sort Buffers,加一点点就好。
DSearch
DSearch 就是搜索本身。
HTML parser
HTML 解析器,据说一直在变强。
外部链接
- 我的MJ12立刻就超过了StephDC - Arthur200000,在本站中极其稀有的对本项目的讨论,有一份参数设置。
- ImDisk 是一个适用于 Windows 的内存盘程序。