所有由admin發布的文章

聊城網站建設談談搜索引擎的工作原理

昨天的文章 全球化的誤區,本地化的機會 ,評論里,有人說,搜索引擎技術似乎不需要本地化,這一看就是徹底不懂這個領域的人講的。當然,實話說,如果有人說,google在中文本地化方面做得非常好,我是可以部分同意的,同意的比例可能會比google工程師少一些。但我相信google工程師也會告訴你,搜索引擎是需要本地化的。

 

今天寫篇科普文,講講搜索引擎的技術機理和市場競爭的一些特點。當然,作為從事或有興趣從事流量運營的朋友,是可以用另一個角度去理解本文。

 

搜索引擎的核心技術架構,大體包括以下三塊,第一,是蜘蛛/爬蟲技術;第二,是索引技術;第三是查詢展現的技術; 當然,我不是搜索引擎的架構師,我只能用比較粗淺的方式來做一個結構的切分。

 

1、 蜘蛛,也叫爬蟲,是將互聯網的信息,抓取并存儲的一種技術實現。

搜索引擎的信息收錄,很多不明所以的人會有很多誤解,以為是付費收錄,或者有什么其他特殊的提交技巧,其實并不是,搜索引擎通過互聯網一些公開知名的網站,抓取內容,并分析其中的鏈接,然后有選擇的抓取鏈接里的內容,然后再分析其中的鏈接,以此類推,通過有限的入口,基于彼此鏈接,形成強大的信息抓取能力。

 

有些搜索引擎本身也有鏈接提交入口,但基本上,不是主要的收錄入口,不過作為創業者,建議了解一下相關信息,百度,google都有站長平臺和管理后臺,這里很多內容是需要非常非常認真的對待的。

 

反過來說,在這樣的原理下,一個網站,只有被其他網站所鏈接,才有機會被搜索引擎抓取。如果這個網站沒有外部鏈接,或者外部鏈接在搜索引擎中被認為是垃圾或無效鏈接,那么搜索引擎可能就不抓取他的頁面。

 

分析和判斷搜索引擎是否抓取了你的頁面,或者什么時候抓取你的頁面,只能通過服務器上的訪問日志來查詢,如果是cdn就比較麻煩。 而基于網站嵌入代碼的方式,不論是cnzz,百度統計,還是google analytics,都無法獲得蜘蛛抓取的信息,因為這些信息不會觸發這些代碼的執行。

 

一個比較推薦的日志分析軟件是awstats。

在十多年前,分析百度蜘蛛抓取軌跡和更新策略,是很多草根站長每日必做的功課,比如現在身價幾十億的知名80后上市公司董事長,當年在某站長論壇就是以此準確的分析判斷而封神,很年輕的時候就已經是站長圈的一代偶像。

 

但關于蜘蛛的話題,并不只基于鏈接抓取這么簡單,延伸來說

 

第一,網站擁有者可以選擇是否允許蜘蛛抓取,有一個robots.txt的文件是來控制這個的。

 

一個經典案例是 https://www.taobao.com/robots.txt

你會看到,淘寶至今仍有關鍵目錄不對百度蜘蛛開放,但對google開放。

 

另一個經典案例是 http://www.baidu.com/robots.txt

你看出什么了?你可能什么都沒看出來,我提醒一句,百度實質上全面禁止了360的蜘蛛抓取。

 

但這個協議只是約定俗成,實際上并沒有強制約束力,所以,你們猜猜,360遵守了百度的蜘蛛抓取禁止么?

 

第二,最早抓取是基于網站彼此的鏈接為入口,但實際上,并不能肯定的說,有可能存在其他抓取入口,比如說,

客戶端插件或瀏覽器, 免費網站統計系統的嵌入式代碼。

會不會成為蜘蛛抓取的入口,我只能說,有這個可能。

 

所以我跟很多創業者說,中國做網站,放百度統計,海外做網站,放google analytics,是否會增加搜索引擎對你網站的收錄?我只能說猜測,有這個可能。

 

第三,無法被抓取的信息

 

有些網站的內容鏈接,用一些javascript特殊效果完成,比如浮動的菜單等等,這種連接,有可能搜索引擎的蜘蛛程序不識別,當然,我只是說有可能,現在搜索引擎比以前聰明,十多年前很多特效鏈接是不識別的,現在會好一些。

 

需要登錄,需要注冊才能訪問的頁面,蜘蛛是無法進入的,也就是無法收錄。

 

有些網站會給搜索特殊頁面,就是蜘蛛來能看到內容(蜘蛛訪問會有特殊的客戶端標記,服務端識別和處理并不復雜),人來了要登錄才能看,但這樣做其實是違反了收錄協議(需要人和蜘蛛看到的同樣的內容,這是絕大部分搜索引擎的收錄協議),有可能遭到搜索引擎處罰。

 

所以一個社區要想通過搜索引擎帶來免費用戶,必須讓訪客能看到內容,哪怕是部分內容。

 

帶很多復雜參數的內容鏈接url,有可能被蜘蛛當作重復頁面,拒絕收錄。

很多動態頁面是一個腳本程序帶參數體現的,但蜘蛛發現同一個腳本有大量參數的網頁,有時候會給該網頁的價值評估帶來困擾,蜘蛛可能會認為這個網頁是重復頁面,而拒絕收錄。還是那句話,隨著技術的發展,蜘蛛對動態腳本的參數識別度有了很大進步,現在基本上可以不用考慮這個問題。

 

但這個催生了一個技術,叫做偽靜態化,通過對web服務端做配置,讓用戶訪問的頁面,url格式看上去是一個靜態頁,其實后面是一個正則匹配,實際執行的是一個動態腳本。

 

很多社區論壇為了追求免費搜索來路,做了偽靜態化處理,在十多年前,幾乎是草根站長必備技能之一。

 

爬蟲技術暫時說到這里,但是這里強調一下,有外鏈,不代表搜索蜘蛛會來爬取,搜索蜘蛛爬取了,不代表搜索引擎會收錄;搜索引擎收錄了,不代表用戶可以搜索的到;

 

site語法是檢查一個網站收錄數的最基本搜索語法,我開始以為是abc的常識,直到在新加坡做一些創業培訓后交流才發現,大部分剛進入這個行業的人,或者有興趣進入這個行業的人,對此并不了解。

 

一個范例,百度搜索一下 site:4399.com

 

2、索引系統

 

蜘蛛抓取的是網頁的內容,那么要想讓用戶快速的通過關鍵詞搜索到這個網頁,就必須對網頁做關鍵詞的索引,從而提升查詢效率,簡單說就是,把網頁的每個關鍵詞提取出來,并針對這些關鍵詞在網頁中的出現頻率,位置,特殊標記等諸多因素,給予不同的權值標定,然后,存儲到索引庫中。

 

那么問題來了,什么是關鍵詞。

英文來說,比如 this is a book,中文,這是一本書。

英文很自然是四個單詞,空格是天然的分詞符,中文呢?你不能把一句話當作關鍵詞吧(如果把一句話當作關鍵詞,那么你搜索其中部分信息的時候,是無法索引命中的,比如搜索一本書,就搜索不出來了,而這顯然是不符合搜索引擎訴求的)。所以要分詞。

 

最開始,最簡單的思路是,每個字都切開,這個以前叫字索引,每個字建立索引,并標注位置,如果用戶搜索一個關鍵詞,也是把關鍵詞拆成字來搜索再組合結果,但這樣問題就來了。

 

比如搜索關鍵詞 “海鮮”的時候,會出現結果,上海鮮花,這顯然不是應該的搜索結果。

比如搜索關鍵詞 “和服”的時候,會出現結果,交換機和服務器。

 

這些都是蠻荒期的google也不能幸免的問題。

 

到后來有個梗,別笑,這些都是血淚梗,半夜電話過來,說網監通過搜索發現你社區有淫穢內容要求必須刪除,否則就關閉你的網站,夜半驚醒認真排查,百思不得其解,苦苦哀求提供信息線索,最后發現,有人發了一條小廣告,“求購二十四口交換機” 。 還有,涉嫌政治敏感,查到最后 “提供三臺獨立服務器”, 看出其中敏感詞了沒?你說冤不冤。 這兩個故事可能并不是真的,因為都是網上看到的,但是我想說,類似這樣的事情真的有,并非都是空穴來風。

 

所以,分詞,是亞洲很多語言需要額外處理的事情,而西方語言不存在的問題。

 

但分詞不是說說那么簡單,比如幾點,1:如何識別人名?2、互聯網新詞如何識別?比如 “不明覺厲”。3、中英混排的坑,比如QQ表情。

 

做一個分詞系統,說到底也不難,但是要做一個自動學習,與時俱進,又能高效率靈活的分詞引擎,還是很有技術難度的。 當然,這方面我不是專家,不敢妄言了。

 

現在機器學習技術發達了,特別是google在深度學習領域擁有領先優勢,以前很多通過人工做標定,做分類的工作可以交給算法完成,從某種意義來說,本地化的工作可以讓機器學習去完成;未來,也許深度學習技術可以自己學習掌握本地化的技巧。 但我想說兩點,第一,從搜索引擎發展歷史看,在深度學習技術還沒成熟的情況下,本地化的工作是非常重要的,也是很重要的決定競爭成敗的要素;第二,即便現在深度學習已經很強大,基于當地語言的人工參與,標定,測試,反饋,一些本地化的工作依然對深度學習的效率和效果擁有不可替代的作用。

 

索引系統除了分詞之外,還有一些要點,比如實時索引,因為一次索引庫的更新是個大動靜,一般網站運營者知道,自己網站內容更新后,需要等索引庫下一次更新才能看到效果,而且索引庫針對不同權重的網站內容,更新的頻次也不太一樣。 但諸如一些高優先的資訊網站,以及新聞搜索,索引庫是可以做到近似實時索引的,所以我們在新聞搜索里,幾分鐘前的信息就已經可以搜索到了。

 

我以前經常吐槽一個事情,我在百度空間發表的文章,每次都是google率先索引收錄,當時他們的解釋是,猜測是因為很多人通過google閱讀器訂閱我的博客,而google閱讀器很可能是google快速索引的入口。(然并卵,百度空間已經沒有了,google閱讀器也沒有了。)

 

索引系統的權值體系,是所有SEOER們最關心的問題,他們經常通過不同方式組合策略,觀察搜索引擎的收錄,排名,來路情況,然后通過對比分析整理出相關的策略,這玩意說出來可以開很長一篇了,但今天就不提了。

 

但我說一個事實,很多外面的公司,做SEO的,會誤認為百度里面的人熟悉這里的門道和規律,很多人高價去挖百度的搜索產品經理和技術工程師去做SEO,結果,呵呵,呵呵。 而外面那些草根創業者,有些善于此道的,真的比百度的人還清楚,搜索權值的影響關系,和更新頻次等等,比如前面說到的,身價幾十億的那個80后創業者。

 

基于結果反推策略,比身在其中卻不識全局的參與者,更能找到系統的關鍵點,有意思不。

 

3、查詢展現

 

用戶在瀏覽器或者在手機客戶端輸入一個關鍵詞,或者幾個關鍵詞,甚至一句話,這個在服務端,應答程序獲取后處理步驟如下

 

第一步,會檢查最近時間有沒有人搜索過同樣的關鍵詞,如果存在這樣的緩存,最快的處理是將這塊緩存提供給你,這樣查詢效率最高,對后端負載壓力最低。

 

第二步,發現這個輸入查詢最近沒有搜索,或者有其他條件的原因必須更新結果,那么會將這個用戶輸入的詞,進行分詞,沒錯,如果不止一個關鍵詞,或者是一句話的情況下,應答程序會又一次分詞,將搜索的查詢拆成幾個不同的關鍵詞。

 

第三步,將切分后的關鍵詞分發到查詢系統中,查詢系統會去索引庫查詢,索引庫是個龐大的分布式系統,先分析這個關鍵詞屬于哪一塊哪一臺服務器,索引是一種有序的數據組合,我們用可以用近似二分法的方式思考,不管數據規模多大,你用二分法去查找一個結果,查詢頻次是log2(N),這個就保證了海量數據下,查詢一個關鍵詞是非常快非常快的。 當然,實際情況會比二分法復雜很多,這樣說比較容易理解而已,再復雜些不是我不告訴大家,是我自己都不是很清楚呢。

 

第四步,不同關鍵詞的查詢結果(只是按權值排序的部分頂部結果,絕對不是全部結果),基于權值倒序,會再匯總在一起,然后把共同命中的部分反饋回來,并做最后的權值排序。

 

記住,搜索引擎絕對不會返回所有結果,這個開銷誰都受不了,百度也不行,google也不行,翻頁都是有限制的。

 

再記住,如果你多個關鍵詞里有多個不同品類冷門詞,搜索引擎有可能會舍棄其中一個冷門詞,因為匯總數據很可能不包含共同結果。搜索技術不要神話,這樣的范例偶爾會出現。

 

這是三大部分,多說一點,其實還有第四部分。

 

用戶點擊行為采集和反饋部分

 

基于用戶的翻頁,點擊分布,對搜索結果的優劣做判定,并對權值做調整,但這個早期搜索引擎是沒有的,后面才有,所以暫時不列為必備的三大塊。

 

此外,一些對搜索優化的機器學習策略,對易混詞識別,同音詞識別等等,相當部分也都基于用戶行為反饋進行,這是后話,這里不展開。

 

關于第四部分,我以前說過一個詞,點擊提權,我說這個詞價值千金,我猜很多人并沒理解。沒理解就好,要不我要被一些同行罵死了。

 

以上是單指搜索引擎的工作原理,和一些技術邏輯,當然,只是入門級的解讀,畢竟再深入就不是我能講解的了。

 

但搜索引擎的本地化,并不局限于搜索技術的本地化。

 

百度的強大,不只是搜索技術,當然有些人會說百度沒有搜索技術,這種言論我就不爭論了,我不試圖改變任何人的觀點,我只列一些事實而已。

 

百度的強大還來自于兩大塊,第一是內容護城河,第二是入口把控。

 

前者是百度貼吧,百度mp3,百度知道,百度百科,百度文庫

后者是hao123和百度聯盟。

 

這兩塊都是本地化,google進中國的時候,在這兩塊都有動作

投資天涯,收購265,以及大力發展google聯盟,這些都是本地化。

 

此外,重申一下,百度全家桶的出現以及,百度全家桶和hao123的捆綁,是360崛起之后的事情,hao123從百度收購到360崛起之前,一直風平浪靜的沒做任何推廣和捆綁,從歷史事實而言,請勿將本地化等同于流氓化。

聊城網站建設談談微信小程序的盛宴

第一次認真的把微信小程序的平臺文檔和測試范例看了一下。

 

別往下看,猜猜我最關心的是看哪部分?

 

是信息模板發送的條款。

 

好吧,從頭說起,微信小程序內測的消息一出來,業內就轟動了,請恕我先吐個槽,我覺得微信內測找的那些合作方不太對,按照業務規模排序的一些巨頭,當然他們業務量大,應該有優先權,但是他們動作遲緩,公司決策緩慢,你給他們接口,兩個月可能都得不到真正有效的反饋,還不如給一些有活力的創業公司,保證倆禮拜啥都鼓搗出來了。

 

對于大部分從業者,都認為微信小程序會成為一個新的分發市場,微信將成為與安卓,谷歌平行的操作系統;當然,也有少部分人不以為然,比如說,他們認為,當年最早做開放接口,試圖打造操作系統的社交網絡Facebook,如今平臺何在?

 

這個扒扒歷史,Facebook是最早把開放接口平臺做完善的社交網絡,也是最早以好友時間線為核心的社交網絡平臺,而且在當時也是形成了一股極為重要的風氣,社交游戲成為一種流行,國內跟風的也很多,Zynga上市更是其中的高潮,但后來問題來了,社交游戲,對原本熟人社交的傷害極大,為了游戲獲利的好友關系已經喪失了原來的意義;而時間線也被各種社交游戲的分享所污染。之后Facebook 也開始逐漸著力整頓這一塊,而社交游戲的熱潮也快速退卻,直到現在,近乎銷聲匿跡。

 

我們說,微信不是很多游戲也有社交功能么?和當年Facebook開放的社交接口相比,其實早就不可同日而語。 存在社交功能的游戲,和以社交為核心的游戲,還是很大不同的。(順便偷偷說一句,中國互聯網社交游戲當年風靡的核心訴求是什么,知道么?是曖昧。嗯,這就不展開了。Facebook最初得以快速發展的核心用戶訴求,其實也是曖昧,你信不信。)

 

以前我記得有篇文章提到過,我找不到是哪一篇了,和巨頭,大平臺合作,要能站在對方角度思考,并理解他們的訴求和目標,理解他們的擔心和憂慮,這樣你才能找準自己的定位,以及正確的合作姿勢。

 

和微信合作也是如此,今年的實際內容其實很簡單,羅嗦這些,是希望讀者,從歷史來體會和思考,微信平臺的擔憂是什么,我告訴你們,是朋友圈時間線的污染。

 

前幾天,我去當面請教俞軍,俞軍說了一句很經典的點評,微信的成就,來自于控制。那么我的理解,朋友圈,時間線的控制,是這里特別重要的一塊,當然還有消息發送的控制。 一旦失去控制,平臺就會失去一切。這絕對是張小龍的噩夢。

 

所以,任何,將核心模式和用戶獲取能力,完全建立在信息分享上的應用,對不起,我肯定的告訴你,沒有可能獲得微信的平臺支持,就算短期你可以繞過審核上線,一旦做大必然被關停。不論是公眾號,服務號,還是小程序。這一點,所有在微信平臺的開發者,務必要牢記。

 

當然,不是說不可以做分享,但分享必須基于用戶主動,自發,無激勵,無誘導,無暗示,無混淆的方式。除了分享,消息發送也是如此,用戶必須明確自己的行為,會收到什么消息,必須明確,這個消息是自己行為的反饋,(比如付款確認消息,訂單完成消息等)。凡是脫離這一基礎的,即便僥幸你能繞過審核,一旦做大,未來也會被微信干掉。

 

所以,幾點結論

 

第一,不要過度指望流量紅利,第一批上線的應用會有流量紅利,但不會很多,微信也不會允許你濫用平臺流量資源。

 

第二,不要試圖做病毒式營銷,即便你的玩法很受用戶喜歡,一旦被朋友圈刷屏,殺無赦。這樣的例子我不用講,太多太多。

 

第三,理解微信平臺的運營思路,比純粹通過字面理解條款重要,條款是隨時可以變更的,而且解釋權在微信。

 

第四,市場空間還是有的,但跟APP市場還是會有一些區別。不要顧此失彼。

 

第五,是否有新的市場機會,需要一點想象力。

有想法要開腦洞的,歡迎留言或發信。

 

第六,不論你做什么業務,記住,學會控制是非常重要的一種能力,所謂控制,就是不要為利益,欲望所驅使,失去對真正價值的尊重。

聊城網站建設分享MYSQL系統分析實戰

上班了上班了,干活了干活了。

 

那個,其實,我很多年沒碰過技術了,但還是覺得有必要把之前一些處理過的技術問題拿出來,其實每個問題,都是很小的問題,如果單獨說原因和答案都非常簡單,但關鍵是,遇到問題的思考方式和分析方法。

 

依然是,高手請無視,針對一些初入技術職場的童鞋,希望能對各位遇到問題時候的思考方式有所幫助。

 

案例1:詭異的鏈接過多

 

當時情況是這樣,突然有一天,數據庫出現鏈接過多錯誤,導致網站報錯。 熟悉mysql并操作過高并發系統的朋友知道,數據連接過多屬于很常見的問題。但當時的情況是,訪問量并不在高峰,按理說不應該有這樣的問題。

 

看了一下數據庫服務器的負載,很低,并不存在cpu或內存跑滿的問題。

慢查詢日志沒有異常的SQL,更沒有鎖表。

 

于是就進入數據庫做一下 show processlist的查詢。

有些朋友可能會問,鏈接過多你還能看show processlist么,那個,mysql里root比普通用戶多一個鏈接許可,所以,記得程序切忌用root鏈接,保留一個給系統分析師用。

 

意外發現,幾乎所有的SQL停留在sleep狀態,而且很多鏈接都持續了好幾秒,甚至十幾秒。

 

這里說明一下,如果是用數據中間件鏈接池來操作,從中間件到數據庫存在固定數字的sleep鏈接是正常的,但從程序端到中間件,除非你是長連接,并且需要保持數據庫頻繁操作的應用,否則,通常不建議數據庫保持連接,也就是不應該出現太多sleep操作。

 

我們的場景就是普通的web應用,php程序而已,都是短鏈接,按理說,程序執行完就應該釋放的,所以這個問題就有點意外。

 

當然,這個和代碼的設計也有關系,因為系統用的開源軟件改寫的,涉及數據庫操作還是蠻多的,一般情況下,數據庫操作完應該及時關閉,但由于一般認為php代碼執行時間很短,所以在代碼架構有點復雜的情況下,很多都是默認整個程序執行完再關閉。那么現在問題來了,到底php發生了什么問題。

 

我們去web服務器,看日志,發現訪問量并沒有異常,也沒有針對我們的攻擊行為,但確實很多php程序執行時間較長,web連接數也明顯多于異常,即便是數據庫重啟,問題依然會重現,那么這時候,我們工程師就在最常用的php代碼里設置斷點,去看代碼到底卡在哪個環節上執行時間很長,結果,發現是我們的一個非常重要的常識盲點。原來執行時間最長的,是在最后代碼數據都執行完,輸出執行 echo 的環節。

 

在本地做性能測試,壓力測試的時候,我們知道echo 這種語句是基本沒有開銷的,也不太可能成為一種負載的來源,但這下我們明白了,echo原來不僅僅是php執行輸出,也包含了網絡傳輸的時間開銷。只有客戶端接收到傳輸內容后,echo執行才結束。

 

而那天的問題,其實是因為同機房有其他公司服務器被Ddos,導致機房出口擁堵,按理說這只是websever的問題,但因為webserver本身有輪詢機制,而且設置的連接數較大,雖然訪問較慢,但沒有崩潰,而因為php代碼里mysql鏈接沒有及時釋放,在php執行echo的時間等待較長,導致mysql鏈接過多崩潰。

 

知道這個問題,解決就簡單了,因為開源系統封裝了輸出template的對象,我們就在這個對象執行的時候,先執行mysql_close(); 這樣只改了一行代碼,問題就解決了。

 

但后來發現出了bug,bug的理由很無厘頭,居然部分template 的偽碼里有數據庫操作,但這個問題解決也簡單,因為畢竟這樣的場景很少, 而且mysql對象也被封裝了,我們就在query方法里加了一行代碼,如果沒有數據庫連接,就重建一個。 這樣,這個重建過程只出現在極少數template里有mysql操作的場景,對整體系統基本沒有性能干擾。

 

這個案例說來挺簡單,就是數據庫連接沒有及時釋放造成的,但因為觸動了一個思維盲區,所以印象深刻。

 

線上的程序做斷點日志分析是最常用的分析詭異問題的方法。基于斷點日志分析,我們可以通過類似二分法,逐步遞進直到精確定位具體到每一行代碼的執行時間開銷。

 

這里還要提醒一個常見問題,線上環境很多問題是在測試環境里很難重現的,所以遇到詭異問題,應該可以在線上做一些日志分析和代碼的調試,當然這樣可能會有一定的風險,但很多公司的流程和規范,開發工程師只能在線下測試性能和壓力承受能力,針對線上很多現實的問題沒有辦法完整實測。

 

大公司可能會把測試環境做的更好更規范,以及有更有經驗的工程師和分析師來解決問題,但創業公司,我建議要給程序員和分析人員一些線上應急處理的權限,否則真的會束手無策,經驗值都是靠犯錯和解決問題來積累的。

 

案例2:看似正常的負載過高

 

當時有個新業務數據增長很快,該業務的數據庫服務器每天處理數百萬次數據查詢請求,uptime比較高,經常在5-6的樣子,cpu負荷較重,運維負責人就發郵件,申請更換更好的服務器,增加資源。

 

按理說,這是個合理請求,負載也確實很高,業務也確實增長,但我這個人天性財迷摳門,總覺得這個數字不應該是極限,就登錄到數據庫服務器看了一下,很簡單,我的方法就是先刷show processlist,連續刷幾遍,看數據庫都在執行啥,開銷都集中在什么狀態,這一看還真就發現問題了,居然經常看到有些mysql進程停留在 storing result to query cache 上。

 

這事我就納悶了,因為按常規,這個狀態應該是基本沒有時間開銷的,也就是show processlist看到是小概率事件的。

 

所以就要驗證一下,執行 set profiling=1,然后從show processlist復制一條執行一次,然后執行 show profiles for query 1; 結果意外發現,常規來說執行開銷最大的sending data (這個開銷可不是輸出數據哦,其實是io尋址)只有0.002秒,而 storing result to query cache 卻執行了 0.005秒的樣子,千分之五秒,一般人可能就無視了吧,但整個SQL執行不到0.01秒,這個開銷比例蠻大的了。

 

那個,其實這個問題的責任者呢,是我自己,我覺得query cache是個好東西啊,所以開始配置服務器的時候,還是我自己做的配置,因為服務器內存夠大,我就把query cache設置的比較大,結果SQL的反饋結果內容較多的情況下,就出現了query cache的碎片化比較嚴重,反而導致了query cache存儲額外的開銷,我在數據庫里直接操作將query cache內容重置的命令,再執行這個SQL,用profiling去分析,發現這個開銷就沒有了,負載瞬間顯著下降了60%左右。

 

然后我跟運維負責人說,半夜沒人的時候把數據庫的啟動參數,query cache那塊設置回默認值,重啟一下數據庫,于是就沒再追加預算和服務器投入。

 

這個案例本身是我自己的烏龍,因為沒有明確理解query cache的讀取和存儲邏輯,自以為是的調高了參數,在SQL返回值較大的情況下,導致了嚴重碎片化,帶來了額外的開銷,雖然每次開銷都極其微小,但由于系統的請求頻次非常高,所以系統不必要的負載就比較大。

 

那么這個案例里,需要分享的方法是,showprocesslist+一定的敏感度,再配合用set profiling去分析具體的開銷,是非常重要的一種分析查詢性能的方法。

 

案例3:io性能的優化案例

 

這個案例又是我的錯,唉,我發現我犯的錯誤還是蠻多的,不過我們工程師解決方案非常經典,所以也列在這里以供參考。

 

還是一個非常高并發的業務場景,最開始呢,為了達到查詢的最優化,數據結構還是我設計的,使用了復合索引,確保每次查詢的索引命中率極高,但這個業務場景有一個問題,就是除了查詢請求很高之外,數據的插入請求基本上是同頻次的。(大部分場景都是數據插入后隨之查詢,個別會有單獨查詢場景),所以插入請求巨大,數據庫的io壓力特別大。

 

結果我們工程師也是受到我的影響吧,摳門的很,也是盡可能在有限資源下挖潛。結果怎么做的呢? 說來簡單,索引降級,把兩個字段的復合索引降到單鍵索引了。

 

單純從查詢而言,這一降級其實是犧牲了效率,但是犧牲的并不大,但從更新而言,從復合索引降級到單鍵索引,索引更新的io負載就有了明顯的降低,由于查詢的負載開銷遠低于更新的負載開銷,所以這一降級,在查詢與更新同頻的場景下,就變得效果特別好。

 

這個案例需要分享的經驗是,索引的建立,不但要考慮查詢的語句,更新的語句,也要考慮業務場景中相關的頻次,在更新頻次遠低于查詢頻次時,和更新頻次與查詢頻次相當時,同樣的數據結構,同樣的SQL語句,可能索引的設計方案會有重大的調整和改變。

 

 

 

 

Mysql也有了很多的版本迭代,很多之前遇到的問題和瓶頸也許現在已經在系統中順暢解決,但我覺得,一些思路和方法依然值得分享。

 

當然,這些都不是什么高大上的技術和解決方案,都是實戰中,屌絲創業團隊面臨一些實際問題的響應和處理能力。很多草根創業團隊,其實都是栽倒類似這樣的問題上的。

聊城網絡公司談商業價值的邏輯

科學和商業,存在價值觀的差異

 

在科學的視角里,對的就是對的,錯的就是錯的,一個理論,存在一個壞案例無法滿足,就可以證明是錯的。

 

在商業的視角里,一個商品,相信其價值的人夠多,就是對的,就算很多人不信,不同意,甚至根本就不符合其宣傳的特征,但是只要相信的人夠多,這個東西就是對的。

 

這就是所謂商業包裝,市場營銷的本質,你要讓足夠的目標群體(能覆蓋你的供應規模)相信你,甚至不需要一個嚴謹的邏輯和一個有科學性的描述,而是精通于某種情感的表達或者暗示。

 

在對商業行為的點評和判斷中,技術人員,或者說邏輯嚴謹的童鞋經常會犯一些自以為是的錯誤,好比說,我們說,這個東西其實不值這些錢,或者說,所謂忽悠,這個商品采用了根本不符合其本質的宣傳特征。但實際上,只要信的人多,其商業行為就是合理的。

 

本文不是吐槽或者抨擊,而是一個切實的反思,很多人對商業營銷的判斷誤區,往往來自于此。

 

當然,我不是鼓勵欺詐,以及夸大其詞和誤導用戶的行為,但是我要說,在不喪失道德底線的情況下,我們要理解商業行為中產品產生溢價的機理和邏輯。

 

典型范例,一個名牌的皮包,其價值并不能用功能性,成本和制造工藝來衡量,而是其所涵蓋的情感訴求,那么這個情感訴求是不是值錢,要看有多少人認可和支持這個價值,這些人的購買力是否可以覆蓋這個產品的供應規模;一顆鉆石,理工男說這玩意就是碳啊,現在都能人工合成了,根本不值辣么多錢了啦,注孤生的節奏有沒有。

 

藝術品更是這樣,稀缺,具有不可替代性的產品,其價格取決于最高出價者,而非平均出價者,認識這一點,很多產品營銷思路就會豁然開朗。

 

還記得馮小剛導演的廣告么,大家說好,就是值。 這就是商業價值邏輯的本質。

 

再次提醒,營銷可以玩虛的,但請把持底線。

 

二維碼那個項目,補充說明一下

從值乎談執行力

 

有很多封郵件,有很多人做了demo給我。

 

第一,微信公眾號關注這個問題,目前無法通過第三方鏈接跳轉,暫時這個無解。有些人采用了二次二維碼的方式,但畢竟這樣用戶體驗不好,所以目前,我也不知道如何跨過這個障礙。我讓我的員工測試了幾種方法,都沒有效果。

 

鑒于此,這個能完全滿足我需求的產品,目前技術背景不存在,并非開發者的問題,除非微信開白名單。

 

第二,如果不考慮微信公眾號關注的問題,目前有些產品已經做得相當不錯,如果開發者有興趣,可以自行發展成為公開服務,目前我看到也有不少人告訴我有類似這樣的服務,而且也有一定用戶規模。

 

第三,我之前說過希望選擇一些開發者進行后續深度合作,但目前主要問題還在我身上,我還是懶癌發作,沒有去全力跟進這些優秀的開發者,這一點也對各位積極參與的童鞋表示道歉。

 

其實我非常驚訝于訂閱者中有如此多的行動力超強的開發者,遠遠超出預期,所以一下子我不知道該咋辦了。

 

再羅嗦一下,我歡迎投稿和爆料,如果您的投稿藏了私貨,有廣告,只要內容寫的夠好,有意義,有價值,也不是不可以,但純廣告軟文扔過來做為投稿,這是不是有點過分了。

 

最后,VR是真火還是泡沫,這個問題也有很多人問我,我只說一句,VR的色情視頻,確實是真火起來了。

聊城網站建設談談域名這點事

先說點題外話,最近這幾天看到方興東博士又寫了一篇靠臆斷的奇,說蘋果和美國政府演了一場雙簧。本來想寫一篇抨擊的,結果發現該講的以前都講了。

 

幾篇舊文

1、從一則預測談起 – 別用臆斷代替求證

2、關于判斷力 – 正視事實是基礎

3、關于判斷力-兼談IT評論界冥頑不化的愚蠢

4、擺事實,講歪理

 

簡單一句就是,如果你網上看到足夠多的報道和技術分析文章,你就知道人家以色列公司和另一個數據恢復公司,從技術原理上是完全可以破解這個進入系統的,(當然有一定成本),了解這些你就不會妄下臆斷。方博士從十五年前看alexa排名看不懂就臆斷hao123排名作弊,到現在,一點出息都沒漲。值得每個人引以為戒。

 

回到主題,很多人都知道域名蠻重要的,我以前文章也提到過,比如說對中國人而言,數字域名的輸入成本最低,拼音域名其次,英文域名就稍差。很多巨頭都會斥巨資購買域名,這些新聞也屢見不鮮,但我發現很多創業者,并不是真的知道,域名這事操作起來的基本邏輯。

 

很多創業者都說我先想個名字,再去看有沒有域名,這哪有那么容易,而且現在域名市場的價格可能會遠遠超過一些創業者的心理價位;又遇到一些學生社團,或其他剛開始做網站的人,覺得還沒準備好內容和素材,注冊域名不著急吧,可等你想好了,你以為你中意的域名還在等你么?還有一種人,心水某個域名,看看注冊時間,好像快過期了,覺得對方也沒做站,等過期了自己去注冊一下就好了,想得好天真啊,稍好一點的,哪有可能被你搶到。

 

1、域名是什么

這個問題大部分人都知道,最開始ip協議出來了,每個上網的設備,服務端和終端,都有一個ip地址,但是如果你說你做了一個東西給別人分享,讓別人記住一個ip地址,好復雜的有沒有,記不住有沒有,為了簡化這個記憶,就出現了域名系統。

 

域名系統又包括很多后綴,常用的包括.com 商業網站 .net 網絡服務,.gov 政府機構,.edu教育機構,等等,后來又擴展了各個國家的后綴,最近又多了很多專屬后綴,對了,如果你要是錢夠多,想法夠多,還可以去申請一個專屬后綴提供開放注冊(不知道現在還開放不開放申請,也需要審核),這是一個高級玩法了,今天不講這個。

 

2、域名的價值

域名價值來自于幾部分

 

易記性,辨識度高,容易記憶,這種肯定有優勢。

 

輸入成本,上面提到過了。舉個例子,比如asdfg.com 你肯定覺得這域名毫無意義對不對,但價格也不會低,因為這個域名的輸入成本低啊。

 

歷史和搜索友好度,這兩點相輔相成,如果這個域名有一定時間的注冊歷史,并且被搜索引擎有較多的收錄,以及有一定的外部鏈接,都被認為是域名的價值體現。有些非常無意義的域名,因為存在較多的搜索收錄和外部鏈接,也是很有價值的。

那么,在國內也存在一個反向指標,如果這個域名是被百度處罰過的,其轉讓價值就會大打折扣。

 

易混性,這也是域名的價值之一,這個域名如果跟某個著名網站的域名非常接近,那么每天都會有一些輸入錯的用戶進來,如果你正確引流,欺詐類型的咱不要碰,就正確的做一下引流都可能分到不菲的傭金,比如類似taobo.com這樣的域名。 所以實際上很多著名公司都是一上來把所有易混域名全都注冊下來,省得以后被人拿去山寨或者導流。

 

3、域名的商業玩法

 

域名注冊

 

最常見的就是注冊商,但實話說僅憑域名注冊,續費,大家拼價格戰,利潤極低,如果只是純注冊商,這個商業天花板太低了。

 

實際上,很多以前的域名投資者,搶域名的時候,都是用批量掃蕩的方式,比如說,四位數字域名,甚至現在五位數字域名,都可以寫個程序直接掃一遍,看有沒有還沒被注冊的,馬上就批量注冊了。

 

這種程序每天都會有不同的人在跑,所以,基本上這樣的規則,都被掃光了。

 

再比如,雙拼中文,你把常見漢字拼音整理一下有多少個,我搜了一下帶聲調有3500個,不考慮聲調那么就是不到1000個,好,這樣漢字拼音兩兩組合,最多的可能不超過100萬個,大約70多萬,掃一遍,這個需要點時間,但我估計也差不多被掃光了。

 

域名投資者,大玩家的玩法,都是按照某個規則,掃蕩性的注冊,所以,不要有撿漏的想法,基本不可能給你漏。

 

現在我可以很肯定的說,.com后綴的域名里,四位數字,五位數字100%被掃蕩完了,雙拼和四位字母,六位數字,我估計被掃光的可能性也很大。

 

想想自己97年就給域名注冊商打工,當時三位數字的域名還有很多空的,都沒這個意識,真是蠢的不可救藥。

 

域名搶注

 

那么,好域名被注冊光了,是不是就沒機會搶到了,其實還是有的。

因為,域名是會過期的,而且可能注冊人疏忽,或者注冊人自己出現了問題,導致域名過期,是可以重新注冊的。所以這里催生了搶注的領域。

 

以前我遇到過這樣的事情,我說有個域名快過期了,有個朋友正需要,我說你去注冊商開個賬戶我轉給你,他說不著急,等過期了他再注冊好了,我說你怎么可能注冊的到,這種帶自然量的短域名一旦過期分分鐘就被人搶注的。很多人都不知道搶注的生意有多瘋狂。

 

搶注都是程序化的,首先,快過期的域名都是可以搜的到的,所有注冊商都看得到,然后,基于如上的域名價值條件,有自然量的,短的,有含義的,容易記的,都是優先被標出來的,到過期時間那一刻,每個注冊商都把搶注請求發過去,看誰速度快,命好,當然還有一點策略在里面。

 

關于策略,多說一點,比如你看到今天10000個域名到期,你知道有很多注冊商在搶,這10000個域名里有500個是有價值的,那么排好序,如果你按照最有價值的順序去搶,可能你的程序不夠快或帶寬不夠快,一個都搶不到,但是如果你的順序是先搶中間或后面的,可能別人都在搶最值錢的域名時,你就成功搶到了一些有價值的域名。當很多注冊商都玩這種策略的時候,也許可以考慮,深度學習算法。

 

搶注最早是拼程序,拼帶寬,拼到什么程度呢,搶注者在美國挑機房,挑服務器托管,要找和全球域名注冊中心路由間隔最少的,最好就在同一個IDC里,路由延遲最低。 但因為搶注者太多,搶注程序太狠,導致甚至拖垮注冊中心的系統(利益太大,搶注者群起,簡直就是ddos了。)后來注冊中心就出了一招,每個注冊商根據業績和規模指定通道,這樣一限制,很多中國的搶注者就玩不下去了,因為通道少,搶不過godaddy這樣的平臺。

 

搶注是門好生意,搶到就是錢,最早用程序跑搶注的都發大財了,不過現在這個時機已經基本過去了,當然,如果你有哪怕只有一個通道,如果你能用一個好的策略來搶,其實還是有機會的。

 

好的域名都是注冊商在搶注,個人說我看上了,你沒機會搶到,你看上了可以跟注冊商預訂,但是如果注冊商手里有多份同一個預訂,對不起,就要競價。你說我不預訂,這個域名沒人預訂,只要他有價值,注冊商就會搶下來。只要是有價值的,人工搶注的幾率,是0。

 

域名停放

 

注冊商搶了一堆有價值的域名,但是當前沒人買,怎么辦,這就是另一門生意,域名停放,包括注冊商自己,包括一些域名投資者,把自己當前賣不掉的域名,放到域名停放平臺,第一,有用戶搜索過來,或者找過來,可以聯系出售;第二,可以放一點廣告還能賺錢。

 

全球最大的域名停放平臺是sedo.com,這是個神奇的網站,其年收入高的驚人,除了域名交易的中介費,以前從google分成的廣告費也是個天文數字,現在是不是有自己的廣告平臺了,我不是很清楚。

 

以前sedo就吃這個生意,把有自然量的域名低價搶過來放停放,就算這個域名沒人買,靠自然量的廣告費都是一筆不錯的收入。但現在搜索引擎如果更新索引比較快的話,這個生意就不好做了,靠搜索自然量可能要依賴于搜索引擎的索引更新周期;另外就是易混域名的自然量,這個到現在還是有的做的。

 

但是在中國域名停放并不特別流行,主要原因是百度不是很認可和支持這個模式(從平臺的邏輯考慮,停放對搜索體驗沒有任何幫助,有搜索流量的域名過期后加入停放,被認為是對搜索體驗有一定傷害的),很多域名投資者擔心加入停放會導致被百度列入黑名單,所以寧可空置也不敢對接停放平臺,不知道現在是否還是這個情況。

 

域名交易

 

這是門好生意,很簡單的道理,協助撮合域名轉讓,獲得傭金,你完成一個高價域名的交易,就能獲得數萬乃至數十萬的交易傭金,相當于注冊了數千乃至數萬個域名的收益。

 

上面提到的sedo.com,就是一個域名停放+域名交易的平臺。中國最大的域名交易平臺,是好朋友丸子的 易名中國。(這條是事實,不是廣告!!!)

 

域名交易平臺有自己賣的域名,如果你有想買的域名但并不在交易平臺上,交易方也會有中間人替你去找對方聯系,詢問報價和撮合交易。如果不成交一般是不會收費的,成交會收取一個固定比例的傭金。

 

域名交易又分競價和一口價,不過看自己喜好了。

 

我的觀點是,如果你要做一個網站,一個企業,你想品牌,想站點名字的時候,先看看自己想的域名好不好注冊,通常是不好注冊的,這時候可以去域名交易平臺看看,有沒有好記又不貴的域名,選擇一下,看和你的方向有切合度的,買下來,作為品牌來推,而不是你想了一個品牌再去找域名。

 

就好比前幾年好多人問我這個問題,為啥小游戲網站起名叫4399啊,李興平當時就撿到這個域名了唄。

 

4、幾個關于域名的八卦故事

 

很多人有這樣的想法,不是很看得起域名投資,覺得這是個投機生意,不產生價值,讓創業成本變高。但其實我們換過來說,所謂投機,其實也是一種商業嗅覺,我的觀察是,善于投資域名的人,其商業能力都不差,并不只靠投機域名為生,下面幾個案例,可以做個參考。

 

2004年,龐升東從陳鵬手里買下了51.com,從此進入大眾視野,當時成交價格是98萬,在那個年代已經是天價了。龐升東草根站長出身,靠做網賺和炒房賺了第一桶和第二桶金,51之后是2345,到現在做成上市公司,51.com曾經還是很有機會的,但中間的衰敗,直到現在都是一個特別難以定論的話題。(不過話說回來,51現在還是賺錢的哦)。

 

故事的配角陳鵬也并非池中物,在賣給龐升東之前,這個51.com中間幾經輾轉,還遇到過被黑申訴回來的經歷,陳鵬當時第一次創業不是很成功,賣房賣域名周轉資金卷土重來,然后再度崛起,公司做到年營業額十幾億的規模,現在第三次創業,還兼做投資。作為旁觀者,當時他們交易結束后,我還跟這兩位當時還默默無名的人吃了一頓面條,然后到現在,發現自己落后了不知道多少。

 

2009年還是2008年,程炳皓搞開心網,風風火火,崛起的很快,這家伙對域名無感,用kaixin001.com來玩這個事情,付政軍(2000年我就跟他共事過,一直管他叫小付來著)當時也是創業者,而且做得東西還是蠻賺錢的,一看這個東西好,特別敏銳,就趕緊花大錢把kaixin.com買了。(具體價格不知道,按當時行情價應該是幾十萬的樣子)然后去找程炳皓聊,說能不能合作來搞開心網,域名換點股份,程炳皓以為遇到敲詐勒索的,置之不理。

 

結果陳一舟派人匿名去跟付政軍聯系,編了個故事花了500萬人民幣把kaixin.com買了下來,做了一個山寨開心網。時至今日,開心網和山寨開心網都沒啥動靜了,而付政軍的公司已經上市了,小付童鞋身價過十億。

 

然后就是前年吧,好像是前年,有錢又任性的全民老公王思聰,再度刷新中國域名成交天價, wanda.com的成交價,6000萬人民幣,前持有人也是夠決斷,花了幾百萬買下來這個域名專候王公子。 這個6000萬的域名現在做什么呢?轉到王思聰的個人微博,有錢任性這四個字,服不服!

 

王思聰可不是紈绔子弟,這家伙投資的幾個項目還都蠻厲害的。

 

下面是廣告版面

 

我要說本文不是廣告估計您都不信,不過還真不是,如果是的話至少要三倍廣告費,以上內容是希望用戶真的理解域名這個生意,和域名投資的真實場景,也希望對各位創業者或者有興趣做網站的朋友有所幫助。

 

今天的廣告也是這個領域的,但我只是答應給他底欄廣告,并沒說給他寫一整篇軟文,這一家叫做 “金牌拍賣”, 網址是 www.jinpai.com ,接這個廣告單的時候我還特意做了一下背景調查,畢竟涉及金額較大,得到的結論是,非常靠譜,這我才敢放出來。

 

金牌拍賣是國內最大的視頻域名拍賣交易平臺,成交規模和成交的品質都在國內非常靠前,而其后面域名投資者的支持力度也是蠻大的,這些是對方說的,但我也都是跟業內大佬核實確認過的。

 

除了域名之外,虛擬物品,游戲道具等也是其發展方向,未來可能還會涉及更多領域,但這個和我的用戶群不符,我也就不多說了。

 

競拍域名需要對領域有深入的認識,即便這是一條廣告,我也必須提醒我的讀者,做足功課,才能做出正確的估價。投資有風險,出價需謹慎。

 

如果您有好的域名一直沒有用起來,也可以考慮委托他們,看看能不能賣出一個好價錢。