第一天的心得

我的演講: 利用 Golang 架設 Line 機器人,作為網站的推廣大使

Modern Web 2016: Using Golang to build a smart IM Bot from Evan Lin

演講心得

  • 之前 COSCUP 講得太快,所以不自主地把投影片的數量又加大不少.不過就變得太長.
  • 太多部分在著墨 Golang,這也是因為這個場子沒有講解 Go 的人.會想要推廣 Golang
  • 花太少來著墨 BOT 與 LUIS ,不少同學都是會後才來詢問.

Tuning NGINX for High Performance

投影片所有相關鏈結

Apache will handle whole service before response it, it might have problem for 10k connection. Nginx focus how to handle more usere in one server.

To improve whole performance from architecture, please consider CACHE in any layer starting from Appliation.

Basic Nginx placement:

Host Nginx as load balancer or reverse proxy.

Client <-- HTTP/2 --> NGINX <-- HTTP/1.X, FastCGI, UWSGI, etc --> Servers

OS Tuning for Nginx

Refer this link.

  • net.core.somaxconn
  • net.core.netdev_max_backlog
  • net.ipv4.ip_local_port_range
  • sys.fs.file_max
  • /etc/security/limits.conf, nofile setting

One connection will open two files open, when you receive 2000 connections it mean at least you need open file limit over 4000.

Overcoming ephemeral port exhaustion (短暫的 port 耗盡)

  • include local port range ( net.ipv4.ip_local_port_range )

NGINX Core Features

Use correct number of worker_processes

Nginx will refer CPU limit of your container limit to arrange resource.

HTTP Caching

Conclusion:

  • Plan for scale early
  • Tuning from low level (OS level)

Questions

  1. Why not follow sendfile and accept mutex setting default?

當當網 - 電商基礎架構之路

投影片

當當網: 中國最大圖書銷售平台,沒有自己的物流系統,同時也在淘寶有設攤位.

鐵公基: 鐵路,公路,基礎建設.

基礎架構: 這邊指的是

為何要建設基礎架構

  • 充實基礎,事半功倍
  • 隔離代碼
  • 降低技術債

數據庫管理

需要能夠跨資料庫管理 ( MySQL, Oracle, MongoDB … )

緩存 (Redis) 集群管理

統一管理 Redis 的用法,並且可以了解各個部門的使用狀況.

系統監控

Nagios -> Zabbix

開源 Elastic-Jobs

Github

總結:

  • 自動代替人工
  • 小技術驅動大團隊
  • 基礎平台上支撐上層應用

搜狗 - 移動開發的銀彈 – React Native 探索與實踐

投影片

移動開發技術的發展

  • 2006 Symbian WML
  • 2009 ios Android
  • 2011 Hybrid PhoneGap
  • 2012 插件化
  • 2014 HTML5
  • 2015 React Native 動態化

安裝痛點:

  • npm 安裝緩慢 -> 架設私有 npm server

平台復用準則

  • 邏輯重複使用
  • 不同平台組建,分開實現 (tab.ios.js, tab.android.js)

調試踩坑

  • Debug work, 手機 crash
    • A: 在 Windows 開發,使用到 JS Windows library.封裝 Native Library
  • MVC 分離測試
    • A: 透過 Mock 來調適

騰訊 - 移動娛樂直播下監控與極限優化

投影片

對於機器的優化

  • 先計算機器效能 (透過最高 fps 的播放測試)
  • 選擇相關可以播放的 profile
  • 對於直播業務,測試該使用者的上傳效率. (下傳可以 buffer )

直撥優化

GOP (Good Of Picture)

  • i, p, b frame (9 frame only include one i frame)
  • Each frame take 5 second, wait at least 3 frame ( 15 seconds)
  • Make sure user(viewer) first get i-frame

只有下載播放的部分

  • 優化 H5 需要 3 HLS frame to playback
    • 優化 GOP (補幀)
  • 有互動播放的部分(強調 low latency)
    • 透過 RMTP

錄播優化

  • 動態調整 GOP

心得:

主講人速度很快,但是內容相當的充實有料. 並且充分顯示出主講人對於整個娛樂直播的優化有著相當程度的瞭解. 在會後的討論下,講者充分顯示出對於互動與非互動直播的狀況下,都有相關的處理經驗可以來進行優化.相當建議把投影片好好的閱讀.

參考鏈結:


Evan

Attitude is everything