Discuz!官方免费开源建站系统

 找回密码
 立即注册
搜索

看了大家关于论坛执行效率的讨论帖子.. 一些不得不说的话

 关闭 [复制链接]
MeteorRain 发表于 2004-9-24 21:37:27 | 显示全部楼层
interesting
不过作为end-user,还是比较多关心discuz 3.x的免费化进程……呵呵。
回复

使用道具 举报

paulgao 发表于 2004-9-24 23:08:55 | 显示全部楼层
Originally posted by hehechuan at 2004-9-24 07:27 AM:



看我在用户区贴的那篇文章了吗? 我觉得用两个2 apache把附件和程序分开是可行的~ 以前也见别人这么做过。我的附件有13G,帖子数和在线数和你的差不太多,估计你比较吃力的地方就是会员和板块数太多了~

谢您挂念,实际上已经这么做了,但是还不够彻底,十一期间准备彻底把附件放在另一台服务器上。
但是这个不会太影响 querytime 的,呵呵。
回复

使用道具 举报

paulgao 发表于 2004-9-24 23:16:09 | 显示全部楼层
Originally posted by LostButterfly at 2004-9-24 09:20 PM:


phpwind 确实宣扬过 queries, 只不过当年他宣扬的时候阁下估计还不知 phpwind 为何物, 没有看到, 但别人却看到了而已.

phpwind 的在线文件是这样处理的:

每一行都是定长数据, 通过一个 offset 值来实现 ...

奇怪,要说文本文件在某些操作上比数据库快,前提是跟磁盘表相比,像这种频繁更新的在线用户列表,我看大部分包括 DISCUZ 都是选用 MYSQL 的 HEAP 表来做的,这个我101%相信比磁盘文件操作更快,毕竟是内存级的。除非可以定义这个文件的路径,linux倒是可以放在 tmpfs里面,windows下做RAMDISK应该可以 。

PW为什么会用这种文本方式来做在线用户列表呢?您老知道原因否?

[ Last edited by paulgao on 2004-9-24 at 11:17 PM ]
回复

使用道具 举报

msxcms 发表于 2004-9-24 23:51:46 | 显示全部楼层
Originally posted by veag at 2004-9-23 07:03 PM:



老大,你的数据班不也是差不多的嘛

在线数据我存到文本了?
回复

使用道具 举报

 楼主| LostButterfly 发表于 2004-9-25 00:13:20 | 显示全部楼层
Originally posted by paulgao at 2004-9-24 11:16 PM:

奇怪,要说文本文件在某些操作上比数据库快,前提是跟磁盘表相比,像这种频繁更新的在线用户列表,我看大部分包括 DISCUZ 都是选用 MYSQL 的 HEAP 表来做的,这个我101%相信比磁盘文件操作更快,毕竟是内存级的 ...


做一个 RAMDISK 思路不错, 我强烈建议 TH 们如果银弹充足, 整个论坛 + MySQL 都塞到 RAM 里面去, 哈哈哈...

至于为什么用 text 作为存储, 我估计属于下面几种情况.

1. 开发时思想还是受原来 textdb 的制约, 没有转变过来. 其实 textdb 的产生不是为了提高效率, 他只是在 ISP 不提供数据库的情况下的一种解决方案, 根本不适合企业级运用.

2. 读文本在小规模的情况下确实效果还可以, 例如 500 人以下的中小型论坛, 问题体现不突出, 由于没有高强度数据的 "拷打", 估计开发者也没有意识到. 但如果要商业化, 做出企业级的产品, 文本肯定是不行的, 否则 Microsoft 怎么不用文本来存储 MSDN Libarary 呢.

3. 读文本之后, 数据库 query 确实能够减少, 两个字 - "好看".

说实话, 我也曾自主开发过一个 textdb 类, 操作和 sql 类似, 能够实现 select, create, delete, 可以用通配符号 * 等等,但后来经过评估, 认为当记录少的时候用 cache 即可, 记录太大时候可以用数据库, 只有当记录的行数在 200 ~ 1000 行之间该类才有些价值, 限制条件太多, 于是最终放弃.

以上只是针对用 text 进行存储的技术分析, 不涉及任何特别产品. 看官请勿对号入座.

[ Last edited by LostButterfly on 2004-9-25 at 12:20 AM ]
回复

使用道具 举报

1111 发表于 2004-9-25 00:55:42 | 显示全部楼层
Originally posted by LostButterfly at 2004-9-24 09:20 PM:


phpwind 确实宣扬过 queries, 只不过当年他宣扬的时候阁下估计还不知 phpwind 为何物, 没有看到, 但别人却看到了而已.

phpwind 的在线文件是这样处理的:

每一行都是定长数据, 通过一个 offset 值来实现 ...


少说别人几句吧\   多去chinaunix 混几年 \
https://discuz.dismall.com/viewthread.php?tid=78387

什么在线的时候6000 人时还打开在线列表 , 那个站长一定是白痴 \

linux 下 ,php 读取 300K 的数据只需要 0.001秒, 你再去算算 mysql 在 heap表中读取类似 300K 的数据要多少时间\  不用说的这么夸张\ 把我也吓一跳\
回复

使用道具 举报

 楼主| LostButterfly 发表于 2004-9-25 01:57:48 | 显示全部楼层
更正一下:

第一, 0.03 秒的说法是我记忆错了数量级, 抱歉. 不过无伤大雅, 对于读取在线列表不是fopen, fread 就 ok 了, 关键还是 file() 和 foreach 分析, 而后面两个巨慢是出了名的, 经过 linux 测试, file + foreach 简单处理 80k 的文件大约是 0.04s. 这里我的确错误, 需要回去闭门思过两年再说.

第二, 总的在线列表当然没有笨蛋会列出来, 但 6000 人的论坛不只是一个板块, 可能有两三百个板块. 单个板块中的人数是有限的, 列出来当前分论坛列表是正常的, 在此建议楼上某位出言不逊的家伙也回去 chinaunix 再混 10 年.

[ Last edited by LostButterfly on 2004-9-25 at 02:09 AM ]
回复

使用道具 举报

mmxp1 发表于 2004-9-25 02:28:03 | 显示全部楼层
Originally posted by LostButterfly at 2004-9-23 10:44 PM:
至于开源, 哈哈, 我个人是很支持开源, 不过某论坛的源不开也罢, 不开别人还不知道底细觉得挺好, 一开令人厥倒. 笑.


年少轻狂!
作为技术讨论原本是很好的,原本以为看到了一个很不错的讨论;但越看后面,越开始怀疑楼主的目的和人品!很明显楼主表现出来的心态中打击成分很多--前面还有人把这种对PW的技术评论之后顺带的那些侮辱文字仅仅归纳为说话风格犀利而已的话,简直是轻视别人的中文理解水平!看完楼主这个主题下每个帖子的全部文字表达,我可以看出楼主是出于一种及其不正确或者说贬低PW的心态来讨论技术,而不只是局限于技术本身!
正如大C所说,抓住用户是硬道理。很多人都能看到一个趋势:就是在免费版本的这个方面,今后是DZ的世界还是PW,谁都不敢保证。那么多PHP论坛程序,为什么大多选择的就是DZ和PW来用?难道真是用PW都是菜鸟!?
你说的东西不是没道理,但有道理的东西中夹着没道理的东西就是误导!如果还在文字中夹着阴的东西则心态有问题,甚至是道德有问题!
不论谁更好些,国内的程序员需要的是鼓励,而不是相互攻击!如果楼主写的主题文字是为了一种共勉的目的,无论你说的倾向与哪一方,都会很多人为你击节叫好;但很明显,你不是这个目的!但事实是什么呢?事实是PW不但菜鸟在用,那些可能比你技术更好的人一样在用!一个人能写出那么多人在使用的东西来,无论如何都是一个成就!不服气,你自己做做!
Originally posted by LostButterfly at 2004-9-23 08:31 PM:
如果 wind 真的还像以前那样全部免费我也懒得评论这么多, 写得差点也无关紧要, 但他现在拿这种素质的代码来堂堂皇皇要钱, 本人觉得实在丢门面.
celeste 之好, 每一个程序员看了都竖起大拇指, 学习 celeste 的例子有不少, 但不知道有哪个敢说 phpwind 代码行文一流, 堪称典范 ?

看到这里,我才知道楼主发出主题的真正目的。但这个理由实在让人费解!PW我看到的是免费的。商业版本和免费的也几乎没有差别,先不说代码是如何,人家对商业版本进行收费,是出售一种自己提供的服务。如果对这个都用一种讥讽的态度,甚至要大张旗鼓的讽刺,只能证明你自己连最起码的做人道理都不懂!(拉大板车还有权利收费呢!)我实际接触过的程序员也不少了,说实话,有很多除了编程真不错外,在生活,交流和为人处事上简单和幼稚的实在不敢恭维!所以别以为自己能看几段代码或写一些代码就觉得在其他方面也有资格去教训别人。
至于引用中的最后的那句讥讽,就更不知道出于什么原因,我好像从来没有听过哪个说过自己写的程序将成为经典,堪称典范。DZ取得了不错的成就,但是否是经典,堪称典范?我想至少今天还没资格说那么大的话出来,DZ有今天的成就,不是光靠程序得来的,这个谁都明白。而PW一样需要从开始就得到其他人的尊重,需要一个宽容和帮助的环境!扣别人那么大顶帽子下去,先要明白,人家还没想过要戴!

我真不明白,为什么非用讨论技术的方式来进行一种变相的攻击?如此做法,不但侮辱别人,也同样侮辱你自己的所学技术,降低了自己的人格!希望大家能想起几年前YUZI论坛的上多名程序员相互攻击的教训!想当初,YUZI的BBS2000可比现在DZ风光多了!而今天呢?

程序员谈技术就限于技术方面,别牵扯太远;无论褒贬,心态都放正些;无论文字上是犀利也好,温和也好,别用讽刺挖苦的字眼!否则在你笑话别人的同时,你自己就已经是人家的笑料!在你鄙视别人的同时也成了被鄙视的对象!希望当有一天楼主也努力想做一件事情的时候,不会有人用如此心态来对待你的努力!

我也希望PW能正确对待这样事情,毕竟事情发展的好坏取决于自己对待事情的态度。所谓祸福相依嘛。


                        ---一个用过DZ也开始用PW的人!(我的ID在FREEDZ那也有,我DZ用了一年,也在FREEDZ写过为DZ商业化叫好的文章--免得有人会觉得我是PW的喇叭!写这么多实在是因为从众多的文字中看到了一种畸形的心态!)

[ Last edited by mmxp1 on 2004-9-25 at 04:44 AM ]
回复

使用道具 举报

1111 发表于 2004-9-25 03:32:23 | 显示全部楼层
Originally posted by LostButterfly at 2004-9-25 01:57 AM:
更正一下:

第一, 0.03 秒的说法是我记忆错了数量级, 抱歉. 不过无伤大雅, 对于读取在线列表不是fopen, fread 就 ok 了, 关键还是 file() 和 foreach 分析, 而后面两个巨慢是出了名的, 经过 linux 测试, file + ...


mysql 中得来的数据也是需要通过 mysql_fetch_array 才能表现为数组形式的\ 跟 foreach 无很大差别\
还有版块里的在线打开\mysql 记录的 别说 6000 人在线\
1000 人在线打开可以把你撑死\ 哪个站长 15 分钟在线超过 1000 人的打开\绝对是个白痴 !

还有你似乎一直想说服 phpwind 有多少之差 \ 可是你说的所谓的技术 \ 我实在是看不下去了 \ 建议你还是少说点吧 \ phpwind 这块骨头还是不好挑的 \
回复

使用道具 举报

Crossday 发表于 2004-9-25 09:15:55 | 显示全部楼层
这个话题就此打住吧 我想本来很轻松的一个话题 被人们赋予了太多的含义 压根就没有必要。Discuz!官方论坛的原则是 你你有技术 就来说技术 没技术 欢迎来灌水 不要说一些伪技术的东西,这个帖子里面已经有不少高手参与了,具体怎么回事大家不用沟通也都明白。

此话题就此关闭,免得口水上天,呵呵。我是搞技术的,同行的技术高手们,无论赞扬批评,我都热诚欢迎你来指教,要是批评的话,我就怕你吝啬不说啊 :)

前面我不是有帖子说过了嘛,Discuz!的发展其中就包含有当年包括旅行在内的一些高手的批评。我想其他软件的开发者,已经从这个帖子中吸取了足够的东西,若干年之后他可能还会心存感激之情,我就有这种深切的体验。其他的非技术人等,真是没必要各占一块地盘,很凶的分帮分派的搞运动了,除非你真能说出一点什么有价值的东西来。

我早就都比较老实了,从来不说一些敏感的东西或一针见血的东西,自己辛辛苦苦研究个半天的东西,设计了半天的模式,写一篇批评文章人家就看懂了学去了,岂不是很不划算,可能是比较狭隘了吧。我想真正的技术人员会从这个帖子里受益的。

谢谢谢谢。我和公司员工已经为Discuz!4加班了一个多月,让我们安静安静吧。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|Discuz! 官方站 ( 皖ICP备16010102号 )star

GMT+8, 2025-12-12 02:19 , Processed in 0.098041 second(s), 12 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表