看到刘全、风飞扬等社友对发起民调是否消耗系统资源很感兴趣,特将微博上的相关信息总结贴出。
信息主要来源于鬼道的质疑,小撮的观点,以及鬼道的回复。
从小撮的信息与鬼道的回复,可以认为出走社是选择了access数据库,有访问数量限制,而会出现如timeout等报错。但鬼道认为服务器的运算速度大于网络速度,这点限制就不会影响网速。
而民意调查时频繁调用数据库虽然会占用CPU和内存,但其实真正的影响有多少呢?
”sql语句虽然繁琐,并不会对cpu造成很大的消耗,因为01判断相对于调用数据库是小菜一碟。而调用数据库消耗的是内存资源,但是因为有access数据库的访问数量限制,所以内存实际上并不存在压力。“——鬼道
从中不妨认为,民调对系统资源当然有消耗,但影响并不大。
这里均是我个人引用与个人理解,有什么不对的地方还请指出,一起学习。
鬼道对资源消耗的疑问:
”如果小撮社长认为“个人民调过多是影响登录速度”的原因,请举证,不能凭借猜测来进行一次限制民权的立法。小撮社长在微博中说了很多调用的过程,看起来非常复杂,但是大家应该知道现在的电脑运算速度,以2g的单核心运算速度为例,每秒是20亿次。
电脑(包括服务器)速度最慢的是硬盘,以上一代万转服务器硬盘在不组raid0的情况下,交换数据的平均速度应该在百兆以上,raid0以后,理论上的速度会快100%。而通常的数据库调用文本文档,都是以字节为单位的,应该不会超过100k。当然了这都是通常的计算,也许出走社不同于这些。
微博NO54597和NO54600是以我个人对电脑和服务器的知识做的一个判断,有个地方要说一下,就是调用的文件不会超过100K,太保守了,应该说不会超过10K,10K多大呢,大概是6000纯文字,大家可以做一个测试,把6000文字拷贝到一个记事本中,看看这个文档有多大。
在讨论立法和修改法律的时候首先考虑的应该是为什么要立法和修法,有没有足够的事实依据支持这样的行为。以现在讨论的限制公民调查为例,至今,没有看到提议者小撮社长有足够的证据证明其立法原因,“过多消耗公共资源”。多少是怎么判断的?完全是臆想。
而提出的立法依据中的个人调查,没有一点提及关于“消耗公共资源”的论述。在没有讨论立法原因和立法本意的时候直接进行手段的讨论是不负责任的。“
小撮社长对资源消耗的观点:
"投票系统对系统资源的消耗主要体现在CPU和内存,尤其是CPU,因为投票相关程序包括很多条sql语句尤其是条件很复杂的复合查询语句,执行时要建立多条数据库连接,从而导致大量消耗CPU,使得服务器性能下降。拓词在带宽资源充裕、硬盘富富有余时因访问数据库过频导CPU消耗太大而无法访问。
出走社的代码是效率低下的ASP/ACCESS,访问数据库的速度本来就很慢,再加上过多的数据库连接,过频的数据库查询,对CPU的消耗是很可观的。我经常担心虚拟主机提供商查看我们的代码,发现如此多的SQL语句,会不租给我们,或提高租金。
我们访问出走社,有时会碰到一连串的字母报错,有timeout等字样,意思是尝试连接数据库的时候超过IIS设置的最大值。那就是数据库连接过多所导致的情况。"
鬼道对此的回复:
看到小撮社长的解释,以我粗浅的网络知识认为,问题出在数据库的调用,通常access数据库不适合大量数据,当多人同时访问还会出现IIS假死。sql语句虽然繁琐,并不会对cpu造成很大的消耗,因为01判断相对于调用数据库是小菜一碟。
而调用数据库消耗的是内存资源,但是因为有access数据库的访问数量限制,所以内存实际上并不存在压力。那么综上所述,我认为所有论述是关于出走社为什么会出现那些连串的带 timeout 字样的原因,并没有从中发现导致访问慢的原因。
小撮社长的回复:
”这个你说的对,能承认数据库调用过多会造成IIS假死,那么也应该明白SQL语句是造成大量数据库访问的源头,从而也是IIS假死的原因。并发访问与在线人数并不相等,因为同一页面会存在多个访问,SQL语句调用多的页面会更多访问数据库,如果很多人在查看这样的页面,那么并发访问就会很大。“
鬼道的再次回复:
”我觉得如果只是这些原因,以出走社现在的人数,访问量和同时在线的人数都不会对服务器构成压力,无论是数据库调用,还是sql语句的复杂性都不构成使网站变慢的原因。目前为止,我认为服务器的运算速度还是大于网络速度的。只是因为access数据库的缺陷而会发生报错的现象。
计算方法,假定出走社400人在线,调用4000个数据库文件,每个文件10k,平均调用一个数据库文件要做判断5次,那么就是20000语句的判断加40M的内存消耗。如果数据库没有报错,对服务器来说大概需要3秒,而这3秒属于硬盘寻道查询速度。实际计算和交换数据所用时间不到0.5秒。
技术问题总是能解决的,但是涉及到人的问题才是最复杂的,是否应该教育社民怎么发调查?什么是客观,全面,诱导,倾向性,这些词语本身就都是有争议的词。是不是因为质量不高就应该被限制。谁有权力和能力来限制和控制这个权利。“