Submit Search
flyingV Laravel & AWS 經驗分享
47 likes
5,384 views
Eugene Wang
1 of 38
Download now
Downloaded 70 times
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
More Related Content
PPTX
Phpフレームワーク 「laravel」でブログを作ろう
Syouta Tada
PDF
Laravel5を使って開発してみた
Takeo Noda
PDF
Laravel / Lumen 次の一歩
Yuuki Takezawa
PDF
Laravel_オープンソースカンファレンスhokkaido_JP_2014
Yuuki Takezawa
PDF
php開発で使うタスクランナー gulp
Yuuki Takezawa
PDF
behatエクステンションの作り方
Ryo Tomidokoro
PDF
いまどきのPHP開発現場 -2015年秋-
Masashi Shinbara
PDF
フレームワークを使うべき 3 つの理由
Kenichi Mukai
Phpフレームワーク 「laravel」でブログを作ろう
Syouta Tada
Laravel5を使って開発してみた
Takeo Noda
Laravel / Lumen 次の一歩
Yuuki Takezawa
Laravel_オープンソースカンファレンスhokkaido_JP_2014
Yuuki Takezawa
php開発で使うタスクランナー gulp
Yuuki Takezawa
behatエクステンションの作り方
Ryo Tomidokoro
いまどきのPHP開発現場 -2015年秋-
Masashi Shinbara
フレームワークを使うべき 3 つの理由
Kenichi Mukai
What's hot
(20)
PDF
魔法少女 Laravel 2014
Kenichi Mukai
PDF
LaravelとMVCの先へ
Yuuki Takezawa
PDF
魔法少女 Laravel
Kenichi Mukai
PDF
認証機能で学ぶ Laravel 5 アプリケーション
Masashi Shinbara
PPTX
<第1回>Laravelハンズオンセミナー
Tatsuyoshi Mashiko
PDF
HHVM/Hackを本番投入した話
Kenjiro Kubota
PDF
LaravelでAPI定義を管理する
Kenjiro Kubota
PDF
Laravelでfacadeを使わない開発
Kenjiro Kubota
PDF
YAPC::Asia 2014 - 半端なPHPDisでPHPerに陰で笑われないためのPerl Monger向け最新PHP事情
Junichi Ishida
PDF
PHP フィールドインジェクションに挑戦する PHP勉強会2014
Yuuki Takezawa
PPTX
活動報告9 laravel5入門-
vx-pc-club
PDF
Creators meetup5
Kenichi Mukai
PDF
中・大規模でLaravelを導入するTips
Kenjiro Kubota
PPT
今、最もイケてるPHPフレームワークLaravel4
leverages_event
PPTX
PHPで並列処理する ライブラリを作った
Hironobu Saitoh
PDF
PHPカンファレンス2014の懇親会飛び込みLT資料
Junichi Ishida
PDF
はじめてLaravelさわった 第86回php勉強会
Osamu Kawasaki
PDF
Laravelとテストについて
Takeo Noda
PDF
モダン PHP テクニック 12 選 ―PsalmとPHP 8.1で今はこんなこともできる!―
shinjiigarashi
PDF
PHP in Java -Quercus- によるレガシーマイグレーション実例 #jjug_ccc #ccc_r12
Ryuji Yamashita
魔法少女 Laravel 2014
Kenichi Mukai
LaravelとMVCの先へ
Yuuki Takezawa
魔法少女 Laravel
Kenichi Mukai
認証機能で学ぶ Laravel 5 アプリケーション
Masashi Shinbara
<第1回>Laravelハンズオンセミナー
Tatsuyoshi Mashiko
HHVM/Hackを本番投入した話
Kenjiro Kubota
LaravelでAPI定義を管理する
Kenjiro Kubota
Laravelでfacadeを使わない開発
Kenjiro Kubota
YAPC::Asia 2014 - 半端なPHPDisでPHPerに陰で笑われないためのPerl Monger向け最新PHP事情
Junichi Ishida
PHP フィールドインジェクションに挑戦する PHP勉強会2014
Yuuki Takezawa
活動報告9 laravel5入門-
vx-pc-club
Creators meetup5
Kenichi Mukai
中・大規模でLaravelを導入するTips
Kenjiro Kubota
今、最もイケてるPHPフレームワークLaravel4
leverages_event
PHPで並列処理する ライブラリを作った
Hironobu Saitoh
PHPカンファレンス2014の懇親会飛び込みLT資料
Junichi Ishida
はじめてLaravelさわった 第86回php勉強会
Osamu Kawasaki
Laravelとテストについて
Takeo Noda
モダン PHP テクニック 12 選 ―PsalmとPHP 8.1で今はこんなこともできる!―
shinjiigarashi
PHP in Java -Quercus- によるレガシーマイグレーション実例 #jjug_ccc #ccc_r12
Ryuji Yamashita
Ad
Viewers also liked
(20)
PPTX
對於群募,你必需知道的5件事
Lien Ted
PDF
群眾募資時代的公益勸募 @103 年「非營利組織資訊科技運用」座談會
開拓文教基金會
PDF
群眾募資知多少
MAKERPRO.cc
PDF
群眾募資時代的公益勸募 - NPOChannel
Net Tuesday Taiwan
PDF
群眾募資時代的公益勸募 - FlyingV
Net Tuesday Taiwan
PDF
[網路星期二] 非營利組織網站剖析:網站文案大不同-實例剖析:蠻野心足網路行銷
Net Tuesday Taiwan
PDF
自製線上地圖呈現地理資料:非營利組織案例介紹
Net Tuesday Taiwan
PDF
20160913 網路星期二:NGO 不可不知的著作權與開放授權
Net Tuesday Taiwan
PDF
D4SG creates new opportunities for public service
DSP智庫驅動
PDF
20151208 民眾、社群與 NGO 的協作:飲水地圖的經驗
Net Tuesday Taiwan
PDF
Flying v群眾募資簡介
開拓文教基金會
PDF
20160315 網路星期二:數據會說話 - 從NPO的網站分析談起
Net Tuesday Taiwan
PDF
20160517 網路星期二:社群媒體雙刀流 官網/部落格+粉絲團
Net Tuesday Taiwan
PPTX
20150811 網路星期二:非營利組織的網路內容策略
Net Tuesday Taiwan
PDF
網路時代之自有媒體行銷:非營利組織篇
Net Tuesday Taiwan
PDF
公益勸募條例面面觀
公益團體自律聯盟
PPTX
20160823 網路星期二:Google Adwords 第一次下單就上手 - 非營利組織的關鍵字廣告購買策略(續)
Net Tuesday Taiwan
PDF
Microsoft Transformation
開拓文教基金會
PPSX
聯合勸募愛心匯集之努力
開拓文教基金會
PPTX
20161011 網路星期二:非營利組織總是缺一個資訊人?-- 談談司改會的資訊部門在做什麼?
Net Tuesday Taiwan
對於群募,你必需知道的5件事
Lien Ted
群眾募資時代的公益勸募 @103 年「非營利組織資訊科技運用」座談會
開拓文教基金會
群眾募資知多少
MAKERPRO.cc
群眾募資時代的公益勸募 - NPOChannel
Net Tuesday Taiwan
群眾募資時代的公益勸募 - FlyingV
Net Tuesday Taiwan
[網路星期二] 非營利組織網站剖析:網站文案大不同-實例剖析:蠻野心足網路行銷
Net Tuesday Taiwan
自製線上地圖呈現地理資料:非營利組織案例介紹
Net Tuesday Taiwan
20160913 網路星期二:NGO 不可不知的著作權與開放授權
Net Tuesday Taiwan
D4SG creates new opportunities for public service
DSP智庫驅動
20151208 民眾、社群與 NGO 的協作:飲水地圖的經驗
Net Tuesday Taiwan
Flying v群眾募資簡介
開拓文教基金會
20160315 網路星期二:數據會說話 - 從NPO的網站分析談起
Net Tuesday Taiwan
20160517 網路星期二:社群媒體雙刀流 官網/部落格+粉絲團
Net Tuesday Taiwan
20150811 網路星期二:非營利組織的網路內容策略
Net Tuesday Taiwan
網路時代之自有媒體行銷:非營利組織篇
Net Tuesday Taiwan
公益勸募條例面面觀
公益團體自律聯盟
20160823 網路星期二:Google Adwords 第一次下單就上手 - 非營利組織的關鍵字廣告購買策略(續)
Net Tuesday Taiwan
Microsoft Transformation
開拓文教基金會
聯合勸募愛心匯集之努力
開拓文教基金會
20161011 網路星期二:非營利組織總是缺一個資訊人?-- 談談司改會的資訊部門在做什麼?
Net Tuesday Taiwan
Ad
Similar to flyingV Laravel & AWS 經驗分享
(20)
PPTX
Step by stepで学ぶTerraformによる監視付きAWS構築
Yo Takezawa
PDF
今、最もイケてるPHPフレームワークLaravel4
アシアル株式会社
PDF
今からハジメるHTML5プログラミング
SwapSkills
PPTX
AWS Opsworksを使ってPHPとLaravelが動くサーバーを構築してみよう!at phpstudy#97
Shinichiro Yoshida
PPTX
転職とLaravel
kasikasikasi
PDF
OSC福岡 20111203
Hiroshi Bunya
PDF
AWSによるサーバーレスアーキテクチャ
真吾 吉田
PDF
Practical migration from JSP to Thymeleaf
Toshiki Iga
PDF
RIA開発におけるサービス開発のイロハ
Jun Funakura
PDF
『RIA開発におけるサービス開発のイロハ』
Jun Funakura
PDF
JAWS-UG コンテナ支部 #15 - Amazon ECSの開発環境を動的に管理するツールを作ってみました
Tamirlan Torgayev
PDF
SmartPhone development guide with CoffeeScript + Node + HTML5 Technology, for...
Naoya Ito
PDF
9/16 Tokyo Apache Drill Meetup - drill vs sparksql
Mitsutoshi Kiuchi
KEY
Play勉強会 第3回
Daisuke Kasuya
PDF
まだFTPで消耗してるの? Wordmoveではじめる 異次元のデータ転送
Sou Lab
PDF
Jawsug chiba API Gateway
Takuro Sasaki
PDF
Concentrated HTML5 & Attractive HTML5
Sho Ito
KEY
JavaScript on GitHub (#kyotojs)
y_uuki
PDF
LastaFluteに移行したFessとElasticsearch+ESFluteによるDBFlute環境
Shinsuke Sugaya
PDF
Anchors Aweigh!! - re:Invent報告@re:Port 2016 大阪
真吾 吉田
Step by stepで学ぶTerraformによる監視付きAWS構築
Yo Takezawa
今、最もイケてるPHPフレームワークLaravel4
アシアル株式会社
今からハジメるHTML5プログラミング
SwapSkills
AWS Opsworksを使ってPHPとLaravelが動くサーバーを構築してみよう!at phpstudy#97
Shinichiro Yoshida
転職とLaravel
kasikasikasi
OSC福岡 20111203
Hiroshi Bunya
AWSによるサーバーレスアーキテクチャ
真吾 吉田
Practical migration from JSP to Thymeleaf
Toshiki Iga
RIA開発におけるサービス開発のイロハ
Jun Funakura
『RIA開発におけるサービス開発のイロハ』
Jun Funakura
JAWS-UG コンテナ支部 #15 - Amazon ECSの開発環境を動的に管理するツールを作ってみました
Tamirlan Torgayev
SmartPhone development guide with CoffeeScript + Node + HTML5 Technology, for...
Naoya Ito
9/16 Tokyo Apache Drill Meetup - drill vs sparksql
Mitsutoshi Kiuchi
Play勉強会 第3回
Daisuke Kasuya
まだFTPで消耗してるの? Wordmoveではじめる 異次元のデータ転送
Sou Lab
Jawsug chiba API Gateway
Takuro Sasaki
Concentrated HTML5 & Attractive HTML5
Sho Ito
JavaScript on GitHub (#kyotojs)
y_uuki
LastaFluteに移行したFessとElasticsearch+ESFluteによるDBFlute環境
Shinsuke Sugaya
Anchors Aweigh!! - re:Invent報告@re:Port 2016 大阪
真吾 吉田
flyingV Laravel & AWS 經驗分享
1.
flyingV Laravel +
AWS solution 經 驗分享
2.
About me ¡ Eugene
王佑哲 ¡ FlyingV 工程師 ¡ Inside 網路趨勢共同創辦人
3.
About flyingV ¡ 關於群眾募資 ¡
flyingV現況 ¡ 2011/7 公司成立,2012/4 網站上線 ¡ 目前團隊成員:9人 (工程師二枚)
4.
旗下網站
5.
flyingV 重點營運數據 ¡ 重點案件 ¡
超電能飛行錶 354 萬 ¡ 太白粉路跑 635萬 ¡ 殭屍路跑 796萬 ¡ 看見台灣首映會 248萬 ¡ 紐時集資廣告 - 台灣,這次妳一定要撐下去 693萬 ¡ 割闌尾 – 1198萬
7.
flyingV開發工具 ¡ 全站使用AWS solution ¡
EC2 + RDS + CloudFront + S3 + SES + SQS ¡ 網站架構 ¡ 後端框架 ¡ Play framework (java, scala) → Laravel 4 (php) ¡ 前端框架 ¡ jQuery → Backbone.js → jQuery + handlebars.js ¡ 其他工具 ¡ Github ¡ Slack ¡ Asana ¡ Rollbar
8.
目前flyingV架構圖 EC2 Haproxy / Staging
Server /Admin Panel / memcache FE1 FE2 FE3 …. RDS Cloudfront S3 SES SQS
9.
Laravel 4 – best
PHP Framework ever
10.
Laravel 建立了優良的PHP 社群 ¡
傳統PHP社群難以建 ¡ Composer ¡ PHP artisan ¡ 產生Model、Controller、 Migration ¡ Localhost web server ¡ Eloquent ORM
11.
Composer.json flyingV ¡ laravel/framework:
4.1 ¡ cartalyst/sentry ¡ cartalyst/sentry-social ¡ j20/php-uuid ¡ intervention/image ¡ aws/aws-sdk-php-laravel ¡ vinelab/http ¡ codesleeve/asset-pipeline ¡ rollbar/rollbar ¡ thujohn/rss ¡ anahkiasen/former ¡ intouch/laravel-newrelic ¡ Dev ¡ barryvdh/laravel-debugbar ¡ barryvdh/laravel-migration- generator
12.
flyingV多平台程式架構 ¡ 使用 submodule,維護跨平台共同 程式碼
13.
flyingV碰到的問題 ¡ 提案者是我們最重要的資產,由案件流量大約佔 67% ¡
案件大小差異超級大 ¡ 經常有突發事件流量
14.
全年Google 歷史 太白粉 殭屍路跑 學運:紐約時報廣告
15.
超大型案件 - 匍匐前進 ¡
2013年 全台灣最大路跑平台… ¡ 太白粉路跑 ¡ 殭屍路跑 ¡ 2014年 全台灣最大學運平台… ¡ 紐約時報廣告 ¡ 割闌尾
16.
太白粉路跑 ¡ 起因:color run
路跑報名系統掛站,促成第一場由素 人舉辦的路跑活動 ¡ 規模:限時不限量,四天募資653萬、6700人報名 ¡ 花錢加開機器 (java scala) ¡ 7台4x large FE ¡ 8x large RDS ¡ 結果 ¡ safe ¡ 同時線上人數1600人
17.
殭屍路跑 ¡ 起因:flyingV 引領
台灣素人舉辦特色路跑風氣 ¡ 規模:限量一個下午 ¡ PHP Laravel 第一次上陣 ¡ 7台 4xlarge FE + RDS 8xlarge ¡ 結果: ¡ 2200同時在線 ¡ RDS cpu100% 掛站 四十分鐘 ¡ 一天之內造成 800封客服信 ¡ 檢討:居然忘了在table 裡的 foreign key 加index
18.
紐約時報廣告 ¡ 起因:ptt 鄉民發起募資廣告挺學運 ¡
規模:三個小時 ¡ 四台 4xlarge FE + RDS 8X large ¡ 結果: ¡ 幾乎掛站,速度非常慢 ¡ RDS 100% ¡ 6700人同時在線 ¡ 檢討:cache 做的不夠 ¡ 改進加上view cache、query cache、找出mysql slow log
19.
割闌尾 ¡ 起因:民眾發起罷免劣質立委 ¡ 規模:長期案件 ¡
四台FE 4X large FE + xlarge RDS ¡ 結果: ¡ 同時上線約1000人 ¡ FE4台皆100% 、RDS不到 10% ¡ 檢討:cache使用 native錯誤、造成io lock。 ¡ 改進:全面改用memcache
20.
善用工具 ¡ Slack、Rollbar 幫了大忙 ¡
使用Slack,讓PM、系統可以即時通知大型案件 ¡ 使用Rollbar即時發現多平台佈署後的程式問題
21.
仍然有問題 ¡ 然而就在知名插畫家馬來膜分享了一個連結後………. 依然無法即時反應而掛站…
22.
Thanks & Continue eugene@ontoo.cc
23.
About me ¡ Ronald/hothero
徐瑋呈 ¡ FlyingV 工程師 ¡ 清大資工所畢 http://about.me/hothero
24.
Outline ¡ 伺服器效能調教一路上踩過的雷 ¡ New
Server Architecture ¡ Problem & Solution how to solve ¡ Ssl termination ¡ Elb auto scaling ¡ The future of flyingv ¡ https 轉的問題 ¡ 過去 nfs 問題(I/O lock problem) ¡ Nginx php5-fpm 效能調教(different instance type)、htop (php 執 行速度、RDS)
25.
Due to… ¡ 網站同時在線數暴增 ¡
網友分享、名人、粉絲團發文(ex:馬來膜) ¡ 募資案件相關:預熱開始上線、上架開賣、快要結案時 ¡ https ¡ OpenSSL 大大小小的問題 (ex: Heartbleed) 100 500 1000 2000 0 1000 2000 3000 1 5 10 30 同 時 在 線 人 數 分鐘數 流量示意圖
26.
雷雷雷之伺服器效能調教 ¡ NFS I/O-Lock ¡
伺服器(PHP-FPM & Nginx)相關設定掌握度不夠 ¡ DB ¡ Indexing ¡ Slow Query ¡ N+1 Query
27.
NFS I/O-Lock ¡ 什麼都想
cache,結果什麼都被 lock !!! ¡ View cache, db query cache, session, … View Cache DB Query Cache Session
28.
PHP5-FPM & Nginx Configuration ¡
EC2 Instance Type: c3.large, c3.xlarge, c3.2xlarge, c3.4xlarge, c3.8xlarge ¡ # of CPU Core: 2~32 ¡ RAM: 3.75~60 GiB ¡ Configuration ¡ Nginx: worker_processes 4; ¡ PHP5-FPM: pm.max_children = 32; ¡ Static, dynamic, on demand ¡ Process children 數量取決於 RAM 的大小,能同時處理越多 php scripts ¡ 根據 CPU 的核心數,給予 Nginx worker_process 不同的設定值
29.
Programming Detail DB Connections
30.
新的伺服器架構 (1/2) ¡ 自動擴展,特殊狀況搭配手動新增機器 ¡ Before ¡
開新機器(Instance)from AMI ¡ 調整 PHP5-FPM & Nginx 參數設定 ¡ 將新機器 private ip 加至 haproxy 並設定權重 ¡ Private ip: 傳輸免費、相對 public ip 安全 ¡ New ¡ Get Notifications
31.
新的伺服 器架構 (2/2) 偵測機器狀況,判斷 是否需要增減機器SSL Termination ELB • SSL
Termination • Auto Scaling
32.
SSL Termination ¡ 把
SSL 加解密傳輸的部份都交由 AWS 處理 ¡ 雷之 HTTPS forward to HTTP(對於 Web Server 而言拿到的是 HTTP) ¡ URL Rewrites: 3xx Redirects 對於 POST 支援度不完整 ¡ Website Development Framework 的 URL Helper 多轉成絕對位址(例如: laravel 之 form::open, request::root(), …) ¡ PHP 可用 $_SERVER[‘HTTP_X_FORWARDED_PROTO’] ¡ 善用相對位址 (ex: js/jquery.latest.min.js)
33.
SSL Termination Troubleshooting
34.
PHP Script Including
Laravel require '../vendor/autoload.php'; require '../bootstrap/start.php'; use IlluminateDatabaseCapsuleManager as Capsule; $capsule = new Capsule; $capsule- >addConnection(Config::get('database.connections. mysql')); $capsule->bootEloquent();
35.
Auto Scaling Group ¡ Monitoring ¡ CPU ¡
Bandwidth ¡ Disk I/O ¡ Swarm ¡ CPU 平均 50% 以上維持一分鐘 ¡ 頻寬:一分鐘內 最高同時連線數 超過 1000 個時
36.
ELB ¡ Auto Scaling
Group ¡ Launch Configuration
37.
之後的 FlyingV ¡ 週末 ¡
不要再接到 PM 跟老闆的電話 ¡ 不要打開電腦 ¡ 拒絕遠端連線回伺服器 ¡ 周間上班日 ¡ 可以安心的吃午餐 ¡ 可以安心的睡午覺 ¡ 可以安心的下班 ¡ 以上所述之前提為程式面沒有 Bug 下…
Download