關(guān)于 0.5% 的刷課黨,這里有五組數(shù)據(jù)

兩年前這個(gè)公眾號(hào)做過一篇特稿,分析了“公開渠道的教務(wù)系統(tǒng) 2016 年 1 月選課期間的一些日志”。寫那篇文章讓我直面了刷課這個(gè)事情,還意外地小小采(tiao)訪(xi)了下某個(gè)同學(xué)。

兩年過去,變化還是挺大的。比如,我校教務(wù)處終于把新的教務(wù)系統(tǒng)完整上線了。還比如,自從上個(gè)月新教務(wù)系統(tǒng)第一次選課開始,更多的人聽說了“刷課”這個(gè)詞。已經(jīng)不需要搶課的我,只聽說了這次選課期間有人賣課啥的。雖然實(shí)際上可能并沒這么“道德淪喪”,但大家對(duì)這個(gè)行為的不齒,是多了一些。

我好奇的是,為啥 2018 年的刷課行業(yè)發(fā)展成這樣子了?新的教務(wù)系統(tǒng)并沒有可以從公開渠道獲取的日志,不過從舊教務(wù)系統(tǒng)里看過去幾年的趨勢(shì),還是可以的。于是這次我使用 Elastic Stack 處理了更大跨度的數(shù)據(jù)(灌數(shù)據(jù)進(jìn)去挺折騰的,不過非常高效),從 2014 到 2017 年選課期間的本科選課操作日志中,得到了下面的一些數(shù)據(jù)。(以下數(shù)據(jù)均來自舊教務(wù)系統(tǒng),下簡(jiǎn)稱“教務(wù)系統(tǒng)”)

如果太長(zhǎng)不想看,這是五組數(shù)據(jù)的梗概:

一. 大二到大三、2016 至今,進(jìn)入刷課頻道:2017 年暑假 2015 級(jí)選課期間操作次數(shù)人均 496 次,創(chuàng)了記錄。
二. “刷課”一直是少數(shù),但這 0.5% 的玩家越來越多:四年來用戶操作次數(shù)中位數(shù)保持在 50 - 65 之間,刷課的人數(shù)成倍增加,在 2017 年寒假達(dá)到頂峰。
三. 教務(wù)系統(tǒng)的壓力從來不小,峰值 QPS 95,大多因?yàn)椤叭硕唷?/strong>:選課第一天明明不用搶也是擠爆,卡起來就是死 10 秒鐘又閃現(xiàn) 20 秒的體驗(yàn)。
四. 單用戶刷課平均每秒 17 次,問你怕不怕:靠刷課黨們一“己”之力,還是可以把教務(wù)系統(tǒng)搞慢的,最瘋狂的人連續(xù)一分鐘操作 1060 次。
五. 午夜檔的熱鬧從第二階段開始,刷課黨也就個(gè)位數(shù):如 2017 年暑假第二階段的第一場(chǎng)午夜檔 218 人參加,其中操作頻率極高的也就 5 個(gè)人。

一. 大二到大三、2016 至今,進(jìn)入刷課頻道

按年級(jí)繪圖的選課期間人均操作次數(shù),年級(jí)指選課時(shí)的目標(biāo)學(xué)期,年份為入學(xué)年份

先看看每個(gè)人選課有關(guān)的操作次數(shù)的年級(jí)平均值。很明顯,人進(jìn)入大二之后,大家開始意識(shí)到選課沒那么容易,選課操作次數(shù)的增加體現(xiàn)出了焦慮感。到了大三,2013 級(jí)和以前是下降的趨勢(shì),而 2014 級(jí)開始,不知是技術(shù)增強(qiáng)了還是啥情況,操作次數(shù)越來越多,直到大四才回歸平靜。

按年份繪圖的選課期間年級(jí)人均操作次數(shù),年份+時(shí)間指選課時(shí)間,純年份為入學(xué)年份

把線平移一下,改改坐標(biāo)軸,2016 年成為了刷課次數(shù)增加的關(guān)鍵之年。這個(gè)圖里 2015 級(jí)的選課次數(shù)沖出了天際,2017 年的兩次選課人均 469、496 次,跟 2014 級(jí)的最高紀(jì)錄 318 次相比,真是要沖破天花板了(順便提示一下 Y 軸是指數(shù)坐標(biāo)軸,所以差距看起來似乎不大)。

二. “刷課”一直是少數(shù),但這 0.5% 的玩家越來越多

提到刷課這個(gè)詞,大家通常會(huì)想到那種技術(shù)宅,通過代碼達(dá)到普通人達(dá)不到的手速和耐心。最初我并不敢這么想,畢竟只要有耐心,刷上幾百次也很正常嘛,這樣的有罪推定還是挺不靠譜的。然而兩年前看過具體的日志之后,我對(duì)當(dāng)時(shí)選課期間操作超過 5000 次的用戶的結(jié)論是:

有的是用類似瀏覽器自動(dòng)刷新的方法在輔助操作,有的是每秒鐘成功刷新五六次(還讓不讓人活了),最厲害的呢,從下午開始連續(xù)刷新了 7 個(gè)小時(shí),肯定是開了掛(我就不信您不吃晚飯)。

這些年過來,刷課的人數(shù)變多了嗎?通過對(duì)每次選課的選課操作次數(shù)的人均分布統(tǒng)計(jì),結(jié)論見下。

曲線為每次選課中每人操作次數(shù)分布情況(Y 軸為累計(jì)百分?jǐn)?shù)),條形圖為每次選課中選課操作最多的人的操作次數(shù)

把圖做完之后我還蠻意外的,曲線統(tǒng)一的形狀讓我一度以為自己算錯(cuò)了。然后我在 Access 里折騰了好久把中位數(shù)算出來,都在 50 - 65 之間,所以應(yīng)該沒錯(cuò)。

圖的結(jié)論就是,這么多年,選課次數(shù)分布沒有大的變化,但刷課頂峰值是一年比一年高,尤其從 2016 年暑假那次選課開始。結(jié)合第一節(jié)的圖,2017 暑的回落可能的原因是 2014 級(jí)變成大四老油條了,和 2016 級(jí)迷之不搶課、選課次數(shù)減少。再次提示,這回 X 軸是指數(shù)坐標(biāo)軸。

曲線為每次選課中每人操作次數(shù)分布情況(Y 軸為累計(jì)百分?jǐn)?shù)),條形圖為超過 5000 次操作的人數(shù)

再仔細(xì)看看頂峰 3% 的三五百人。兩年前的“5000 次操作就是刷課”的假設(shè)暫且可以沿用下來,因?yàn)檫@部分人數(shù)保持在占全體 0.5% 以內(nèi)。隨著年份推進(jìn),刷課的人數(shù)成倍增加,尤其在 2017 寒達(dá)到頂峰。至于說 2018 寒的情況,這里沒有數(shù)據(jù),不過我猜是少不下來了。

三. 教務(wù)系統(tǒng)的壓力從來不小,峰值 QPS 95,大多因?yàn)椤叭硕唷?/h2>

刷課對(duì)教務(wù)系統(tǒng)會(huì)有多大影響呢?雖然有些不控制頻率的刷課行為是很不好的(我方表示強(qiáng)烈譴責(zé)),然而目前教務(wù)系統(tǒng)的主要壓力還是來自“人多”。

各選課階段中粗略統(tǒng)計(jì)的最高 QPS

先介紹一個(gè)指標(biāo) QPS (Queries Per Second),也就是每秒鐘服務(wù)器處理的請(qǐng)求數(shù)。采用了新的統(tǒng)計(jì)工具之后,我終于能快速地從日志中觀察這個(gè)指標(biāo)了。

1.1 和 1.2 是第一階段的兩個(gè)小階段,分別進(jìn)行一次抽簽,選課沒有先后。2 階段是先到先得,3 階段是退換課,也是先到先得。刷課是第 2、3 階段會(huì)出現(xiàn)的。

從表里可以看到,選課剛開始的 1.1 階段人是最多的(14 寒那個(gè)不知道是什么鬼情況)。明明是抽簽,登錄系統(tǒng)選課并沒有先后,但開放選課的第一天就是容易擠爆門。然后舊教務(wù)系統(tǒng)的 QPS 極限大概就是 95 了。當(dāng)然 2017 年寒假第 2 階段的爆炸挺反常,那一分鐘服務(wù)器只接待了 12 人,跟之前 200+ 的水平差距太多??磥韰^(qū)區(qū)幾個(gè)人還是有能力把系統(tǒng)刷爆的,我們待會(huì)看。

從日志就可以感受到人最多的時(shí)候,那種服務(wù)器的卡頓,就是死個(gè) 10 秒鐘又閃現(xiàn) 20 秒的體驗(yàn)。

2016 年寒假 1.1 階段第一天某時(shí)段的請(qǐng)求數(shù)曲線,Y 軸為每秒請(qǐng)求數(shù)

最糟的莫過于整臺(tái)服務(wù)器“掛了”,就是連續(xù)一兩分鐘服務(wù)器都沒反應(yīng)那種。2016 年寒假開放選課第一天,這種情況就出現(xiàn)了三次。

2016 年寒假開放選課第一天的三次低谷,Y 軸為每分鐘請(qǐng)求數(shù)

四. 單用戶刷課平均每秒 17 次,問你怕不怕?

剛才提到 2017 年寒假第 2 階段的瘋狂,究竟是怎么一回事呢,今天讓我們走近科學(xué)(誤)。

2017 年寒假第一、二階段分年級(jí)每小時(shí)操作次數(shù)曲線

先看上面這個(gè)圖的高峰時(shí)段。1.1 階段第一天的高峰,主要集中在 10 點(diǎn)和
12 點(diǎn)兩撥,基本上可以看出各年級(jí)的上課時(shí)間(和上課專心程度)。1.1 和 1.2 階段之間的高峰,主要是因?yàn)榻虅?wù)系統(tǒng)抽簽結(jié)果通常會(huì)提前發(fā)布、大家迫不及待想知道選上課了沒。

回到我們關(guān)注的第 2 階段。還是要接著解釋一下曲線,順便對(duì)比一下的。

  • 大一青色曲線的高峰出現(xiàn)在 11 號(hào) 17:57,也就是快要開始第二階段的時(shí)候??梢哉J(rèn)為是大量萌新出來?yè)炻?/li>
  • 大二紅色曲線可就厲害了,幾個(gè)非常詭異的頂峰出現(xiàn)在 13 號(hào)的白天。最頂峰在當(dāng)天晚上 9 點(diǎn)左右,基本可以認(rèn)定是他們把教務(wù)系統(tǒng)推到了 QPS 90 的高度
  • 大三黃色的頂峰出現(xiàn)在 13 號(hào) 0 點(diǎn)。這是學(xué)長(zhǎng)學(xué)姐熬夜比較強(qiáng)的意思嗎。
  • 大四黑色冒出來的那 15 個(gè)小時(shí)只有一個(gè)人操作頻繁。我看了下,是個(gè)法學(xué)院的妹子……

具體看 13 號(hào)晚上 8:00 - 9:30 的數(shù)據(jù)。每分鐘操作頻率超過 60 次的朋友有 7 位,其中 6 位是大二。他們分別來自軟院、法學(xué)、機(jī)車、數(shù)院(這里不跟上次一樣掛人了,沒意思)。其中最瘋狂的朋友在連續(xù)的一分鐘內(nèi)刷新了 1060 次,也就是平均每秒 17 次,讓我大開眼界。原來靠他們一己之力,還是可以把教務(wù)系統(tǒng)搞慢的。

于是在 21:13:20, 教務(wù)系統(tǒng)的 QPS 達(dá)到 90 之后又堅(jiān)持了 20 秒,終于撐不住歇了一會(huì)。

2017 年 1 月 13 日 21:13 教務(wù)系統(tǒng)每秒訪問次數(shù)曲線,紅線為 QPS 90 時(shí)刻

五. 午夜檔的熱鬧從第二階段開始,刷課黨也就個(gè)位數(shù)

2017 年暑假第二階段操作次數(shù)曲線,Y 軸單位 次/半小時(shí)

從 2016 年暑假選課開始,午夜檔劇場(chǎng)就開始熱播了。這時(shí)候,午夜檔還只在第二階段最后一天凌晨開播。而到了 2017 年寒假,午夜檔從第二階段開始連播三天(最后一天人少得很)。上面這圖是 2017 年暑假的午夜檔,也是從第二階段開始連播兩天,最后一天就散場(chǎng)了。

2017 年 8 月 26 日每小時(shí)操作次數(shù)和在線用戶數(shù)

基本上,都是第一場(chǎng)午夜檔最熱鬧。比如上面這圖,2017 年暑假第二階段的第一場(chǎng),218 人參加,不過顯然大部分人還是看熱鬧,還沒堅(jiān)持到 2 點(diǎn)就睡著了。2:00 - 6:59 參加的有 45 人,不過每個(gè)小時(shí)最多就 17 個(gè)人,開個(gè)小廳給他們就足夠了,因?yàn)椴簧偃诉€會(huì)出去看看月亮,找個(gè)地方靜靜。而這四十多人里,操作頻率極高的也就 5 個(gè)人,整場(chǎng)下來上萬次吆喝,對(duì)他們來說是再正常不過了。

好多人想趁第 2 階段換課啥的,在這種情況下似乎挑午夜檔也并不保險(xiǎn),操作需要智慧,也需要運(yùn)氣。當(dāng)然新教務(wù)系統(tǒng)是個(gè)什么情況我就不知道了。

結(jié)語

看完數(shù)據(jù),感覺刷課的人還是那么少,雖然數(shù)量在增加,但“少數(shù)”這個(gè)性質(zhì)沒變。可能人數(shù)變多了,接著有人得瑟起來之后,大家就都知道這種不齒的行為了。

寫這種文章還是得站個(gè)隊(duì)的。兩年前寫完那篇特稿之后的下一次選課,我用了不到 100 行代碼,撿了一門別人的退課(上過課才知道為啥他們退課),說起來也不是那么光彩。不過我的觀點(diǎn)依然跟兩年前一樣,所以直接引用之前寫過的話好了:

教務(wù)系統(tǒng)沒有對(duì)刷新頻率做限制,這個(gè)是很不好的做法。但這也不意味著說,一個(gè)網(wǎng)站亦或系統(tǒng)的用戶,可以采用非正常的方法,一秒鐘連續(xù)刷新頁(yè)面好多次,無端地增加系統(tǒng)負(fù)荷,這叫做“濫用”。想徹底避免道德問題,還是得用技術(shù)方法來解決。

這個(gè)事情,跟搶火車票差不多的道理。技術(shù)可以代替人的重復(fù)勞動(dòng),從對(duì)信息的了解和技術(shù)的掌握而言,“搶”這個(gè)規(guī)則本身還是存在不公平的。從反制的角度說,技術(shù)可以解決一部分問題,但更重要的是制定規(guī)則,這樣之后,刷課技術(shù)的加成導(dǎo)致的落差就沒那么懸殊了。

轉(zhuǎn)過頭想,似乎管選課這個(gè)事情還是挺難的,難在要面對(duì)其他人的態(tài)度?;蛟S這就是社會(huì)主義初級(jí)階段吧。

本文采用知識(shí)共享“署名-非商業(yè)性使用 4.0”許可協(xié)議授權(quán),如需額外授權(quán)請(qǐng)與本人聯(lián)系。本文的 1 次修改記錄主要是潤(rùn)色句子,基本數(shù)據(jù)不變。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 我來美國(guó)留學(xué)一年多了,關(guān)于中國(guó)高等教育與美國(guó)高等教育對(duì)比,我腦海中是無時(shí)無刻不在進(jìn)行,這趟回國(guó),趁著飛機(jī)上的空閑,...
    SpringSun閱讀 1,339評(píng)論 2 11
  • 某天在群里和人聊天,說起老電影,小姑娘們幾乎沒人知道這部。 再翻出來看的時(shí)候,還是會(huì)震撼。好的作品,從來不會(huì)死在時(shí)...
    宋晚藍(lán)閱讀 535評(píng)論 0 0
  • 在大理的最后一天,晚上六點(diǎn)多的飛機(jī)。如果去蒼山就要早起,我是一定起不來的。思彤說,就去寂照庵逛逛吧,很特別的一個(gè)地...
    小企鵝的只言片語閱讀 1,294評(píng)論 5 8

友情鏈接更多精彩內(nèi)容