Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
出了问题不要靠猜
Search
LI Daobing
September 14, 2013
Programming
4.1k
40
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
出了问题不要靠猜
LI Daobing
September 14, 2013
More Decks by LI Daobing
See All by LI Daobing
How to attack TLS in PQC decade, part I
lidaobing
0
60
HTTP协议相关的若干安全问题
lidaobing
9
1.2k
Debian & Packaging
lidaobing
1
600
Java 质量保障
lidaobing
3
340
OAuth: How and Why?
lidaobing
1
190
从 Struts 迁移到 Spring MVC,以及为什么?
lidaobing
2
700
glusterfs 文件系统
lidaobing
2
240
如何学习 Shell
lidaobing
3
370
Other Decks in Programming
See All in Programming
TiDB Cloudのカスタムコントローラーによるオートスケール対応
takaidohigasi
0
140
App Intentsのビルドプロセスを支える技術
kntkymt
0
480
モバイル交通系ICへのチャージ実例から考える、クロスプラットフォーム開発におけるiOS実機テスト設計とCI運用
yusuga
1
560
Augmenting AI with the Power of Jakarta EE
ivargrimstad
0
360
市販E-Readerを乗っ取れ 〜Embedded Swiftで電子ペーパーガジェットを制御する〜
trickart
0
220
App Storeの外へ──日本のiOSサイドローディング入門 for iOSDC Japan 2026
yuukiw00w
0
280
すこし踏み込む CancellationToken
htkym
2
1.5k
Webの地図
yosuke_furukawa
PRO
6
5k
AI時代のコードレビューは人に向けるな、仕組みに向けろ
texmeijin
5
3k
マイコン向けの軽量Ruby「PicoRuby」で各種デバイスを制御するネイティブアプリの実現手法
bash0c7
0
460
Vue Fes Japan 2026 タイムテーブル徹底解説
448jp
1
570
ゲームコントローラやキーボードのファームウェアをSwiftで書く
kishikawakatsumi
1
270
Featured
See All Featured
Future Trends and Review - Lecture 12 - Web Technologies (1019888BNR)
signer
PRO
0
3.8k
How to Align SEO within the Product Triangle To Get Buy-In & Support - #RIMC
aleyda
2
1.8k
The Pragmatic Product Professional
lauravandoore
37
7.5k
How to Get Subject Matter Experts Bought In and Actively Contributing to SEO & PR Initiatives.
livdayseo
0
200
Designing for Timeless Needs
cassininazir
1
510
4 Signs Your Business is Dying
shpigford
187
23k
The Art of Programming - Codeland 2020
erikaheidi
57
14k
Paper Plane (Part 1)
katiecoart
PRO
2
11k
BBQ
matthewcrist
89
10k
Large-scale JavaScript Application Architecture
addyosmani
515
110k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
123
22k
Transcript
ग़ྃ问题ෆཁᯪᘃ LI Daobing <
[email protected]
> ࣣڇӠଘ储 2013-09-14 Saturday, September 14, 13
• ཥಓฌ <
[email protected]
> • Debian Developer • 2004 䇖࢝৮ Debian
• qterm, ibus, scim 软݅แಘ维护ਓ员 • 䇖ݯ爱ऀ • தจ维جඦՊલཧ员 • ࢀ༩维护 iso-codes, translationproject.org • python-lunardate, capistrano-scm-jenkins ࡞ऀ • manpages-zh, douban-ruby, iptux 现维护ਓ员 • զ对䇖ݯత๏ • ࢀ༩Ұ项ɼ贡ݙզత时间ੋҼ为认ಉଞతཧ೦ɼࣕෆੋվଞతཧ೦ • Github: http://github.com/lidaobing https://speakerdeck.com/lidaobing Saturday, September 14, 13
录 • ဓҰ Bug 讲ى • զ౸తཚ • զਪᣑతղႊํҊ Saturday,
September 14, 13
Ұحոత Bug • ᠓盘త্传务 • Windows Լ IE, Chrome 浏览ثԼਖ਼ৗ
• Linux Լ Firefox, Chrome 浏览ثԼਖ਼ৗ • Windows Լత Firefox ෆਖ਼ৗ, ্传ࣦ 败ɻ Saturday, September 14, 13
ԿఆҐBug Saturday, September 14, 13
ԿఆҐBug • टઌ查浏览ثత߇੍ɼ观ੋ൱༗错误(༗) Saturday, September 14, 13
ԿఆҐBug • टઌ查浏览ثత߇੍ɼ观ੋ൱༗错误(༗) • ༻ Wireshark ፊ获请ٻแɼ发现ࣦ败తҊྫ务ฦ ճ412(௨ৗ为200) Saturday, September
14, 13
ԿఆҐBug • टઌ查浏览ثత߇੍ɼ观ੋ൱༗错误(༗) • ༻ Wireshark ፊ获请ٻแɼ发现ࣦ败తҊྫ务ฦ ճ412(௨ৗ为200) • 对ൺ
HTTP Requestɼ发现ࣦ败Ҋྫత HTTP 头༗ “Content-length”ɼࣕଖଞႎԼ为 “Content- Length” Saturday, September 14, 13
ԿఆҐBug • टઌ查浏览ثత߇੍ɼ观ੋ൱༗错误(༗) • ༻ Wireshark ፊ获请ٻแɼ发现ࣦ败తҊྫ务ฦ ճ412(௨ৗ为200) • 对ൺ
HTTP Requestɼ发现ࣦ败Ҋྫత HTTP 头༗ “Content-length”ɼࣕଖଞႎԼ为 “Content- Length” • ༻ telnet 发ૹෆಉత请ٻདྷ验证结论 Saturday, September 14, 13
ԿఆҐBug Saturday, September 14, 13
ԿఆҐBug • 䉯认ݪҼੋ务对 Content-Length త େখࣸහײɼ༩标।ෆූɼྃ这 Bug Saturday, September 14,
13
ԿఆҐBug • 䉯认ݪҼੋ务对 Content-Length త େখࣸහײɼ༩标।ෆූɼྃ这 Bug • ௨务䇖发ਓ员ਚշम䐾 Saturday,
September 14, 13
Bug/ᆀBug Saturday, September 14, 13
Bug/ᆀBug • ೳ࠶现త Bug बੋ Bug Saturday, September 14, 13
Bug/ᆀBug • ೳ࠶现త Bug बੋ Bug • Ռෆೳ࠶现ɼೳ፤౸䇗ৗ栈҃ऀ详细 ࢤతੋBug Saturday,
September 14, 13
Bug/ᆀBug • ೳ࠶现త Bug बੋ Bug • Ռෆೳ࠶现ɼೳ፤౸䇗ৗ栈҃ऀ详细 ࢤతੋBug •
对ဋᆀ Bug, ଞత࠷େ༻处बੋಜଅ㟬补 ॆࢤ Saturday, September 14, 13
㠥ҰحոతBug • ဓެ࢘访问᠓༗12sԆ迟 • ping 㠳应շ • ဓଖଞ᠓络དྷݯ访问༗问题 •
监߇༗问题, ༗٬户དྷ๊ԇࠑࣄ Saturday, September 14, 13
ઌᘃᘃ Saturday, September 14, 13
ઌᘃᘃ • ެ࢘࿏༝ग़问题ྃʁ • ॏ启ҰԼ࿏༝试试ʁ • ୠ为ॄ㜮༗访问զ们ࣗݾ᠓ձग़ࣄʁ Saturday, September 14,
13
ઌᘃᘃ • ެ࢘࿏༝ग़问题ྃʁ • ॏ启ҰԼ࿏༝试试ʁ • ୠ为ॄ㜮༗访问զ们ࣗݾ᠓ձग़ࣄʁ • ਓ问题ʁ •
၏ఔং员还ੋ།Ұൺ较 Saturday, September 14, 13
ઌᘃᘃ • ެ࢘࿏༝ग़问题ྃʁ • ॏ启ҰԼ࿏༝试试ʁ • ୠ为ॄ㜮༗访问զ们ࣗݾ᠓ձग़ࣄʁ • ਓ问题ʁ •
၏ఔং员还ੋ།Ұൺ较 • ෆɼਖ਼ਓ๊ԇ这ࣄ • 99% త༻户ձ۰౸问题时ෆձ报ࠂ Saturday, September 14, 13
ੳ Saturday, September 14, 13
ੳ • tcpdumpแ • ٬户: 发ྃ6 SYN แɼ౸࠷Ұ࠽Ꮕ౸ SYN/ACK •
务: 䉯实Ꮕ౸ྃ6 SYN แ, ࣕ䉯实લ໘5 SYN แ༗ճ䐾 • ဓଖଞ᠓络访问ɼ䉯实ࡏट SYN แ೭ฦճ Saturday, September 14, 13
ੳ • tcpdumpแ • ٬户: 发ྃ6 SYN แɼ౸࠷Ұ࠽Ꮕ౸ SYN/ACK •
务: 䉯实Ꮕ౸ྃ6 SYN แ, ࣕ䉯实લ໘5 SYN แ༗ճ䐾 • ဓଖଞ᠓络访问ɼ䉯实ࡏट SYN แ೭ฦճ • 结论: 问题᪑࿏༝/线࿏Ꮰ䎔ɼ䉯实ੋ务త问题 Saturday, September 14, 13
ੳ Saturday, September 14, 13
ੳ • ࠶ॏ৽ੳ tcpdump త记录ɼ发现લ5 SYN แ带ྃ timestamp, ୈ6带 •
尝试䎔ᎃ٬户 TCP timestamp, ॠ间㠳应 • 尝试䎔ᎃ务 TCP timestamp, ॠ间㠳应 Saturday, September 14, 13
ੳ • ࠶ॏ৽ੳ tcpdump త记录ɼ发现લ5 SYN แ带ྃ timestamp, ୈ6带 •
尝试䎔ᎃ٬户 TCP timestamp, ॠ间㠳应 • 尝试䎔ᎃ务 TCP timestamp, ॠ间㠳应 • 结论: Bug ༩ timestamp ૬䎔ɼୠနવᏠ๏ ղ释为ॄ㜮ଖଞ᠓络问题 Saturday, September 14, 13
ղႊํҊA Saturday, September 14, 13
ղႊํҊA • 䎔ᎃ务త TCP timestamp • TCP timestamp ձӨ㠳传输ɼୠӨ 㠳ෆେ
Saturday, September 14, 13
ղႊํҊA • 䎔ᎃ务త TCP timestamp • TCP timestamp ձӨ㠳传输ɼୠӨ 㠳ෆେ
• ٙ问နવଘࡏɼ为ॄ㜮务ثෆ㠳应 ࠣ timestamp แ, ༗时ީຢೳਖ਼ৗ㠳应 Saturday, September 14, 13
ੳ Saturday, September 14, 13
ੳ • ֩ݯ码 (CTO 亲ࣗૢ) • ೖޱصث༗େྔతཧɼޱ经ৗෆ䭧༻ɼॴҎ䇖 启ྃTIME_WAIT ޱॏ༻ •
䇖启ྃ TIME_WAIT ޱॏ༻ɼ务ཁٻಉҰIPత SYN แ timestamp ඞ须ੋ顺ংత • 办ެ᠓络ੋ᠓, ኂ对զ们᠓访问频ൟɼ导கނো 发ੜ Saturday, September 14, 13
ੳ • ֩ݯ码 (CTO 亲ࣗૢ) • ೖޱصث༗େྔతཧɼޱ经ৗෆ䭧༻ɼॴҎ䇖 启ྃTIME_WAIT ޱॏ༻ •
䇖启ྃ TIME_WAIT ޱॏ༻ɼ务ཁٻಉҰIPత SYN แ timestamp ඞ须ੋ顺ংత • 办ެ᠓络ੋ᠓, ኂ对զ们᠓访问频ൟɼ导கނো 发ੜ • དྷፙ౸ਅ实తݪҼྃ, ༗༗ߋղႊํҊʁ Saturday, September 14, 13
ղႊํҊB • nginx ߴ൛ຊቮ经ࢧ࣋ keep-alive • ঋ级 nginx, 启༻ keep-alive,
߱ޱ༻ • 䎔闭ޱॏ༻ɼኂՃ㖘ޱత监߇ 报ܯ Saturday, September 14, 13
զॴ౸తཚ • ༻寻ፙ workaround ସղႊ问题 Saturday, September 14, 13
զॴ౸తཚ • ༻寻ፙ workaround ସղႊ问题 • 换浏览ث㠧 Saturday, September 14,
13
զॴ౸తཚ • ༻寻ፙ workaround ସղႊ问题 • 换浏览ث㠧 • ॏ启, ਗ਼
cookie, ਗ਼ cache, ॏ৽ొ录 Saturday, September 14, 13
զॴ౸తཚ • ༻寻ፙ workaround ସղႊ问题 • 换浏览ث㠧 • ॏ启, ਗ਼
cookie, ਗ਼ cache, ॏ৽ొ录 • 现场ඃഁᆀಘׯׯ净净 Saturday, September 14, 13
զॴ౸తཚ • ༻寻ፙ workaround ସղႊ问题 • 换浏览ث㠧 • ॏ启, ਗ਼
cookie, ਗ਼ cache, ॏ৽ొ录 • 现场ඃഁᆀಘׯׯ净净 • 对ဋಹࠣෆқ࠶现త Bug, ब损ࣦྃҰ࣍म 䐾తصձ Saturday, September 14, 13
զॴ౸తཚ • 尝试༻试错๏ղႊॴ༗问题 Saturday, September 14, 13
զॴ౸తཚ • 尝试༻试错๏ղႊॴ༗问题 • ঋ级ґ赖แ, ঋ级ᎎ݅, ... Saturday, September 14,
13
զॴ౸తཚ • 尝试༻试错๏ղႊॴ༗问题 • ঋ级ґ赖แ, ঋ级ᎎ݅, ... • ਵศᘃҰݪҼɼվ䫆۟码ɼવ ॏ৽测试
Saturday, September 14, 13
զॴ౸తཚ • ᠍গল Saturday, September 14, 13
զॴ౸తཚ • ᠍গল • 寻ፙ౸ workaround ศ认为问题ղႊྃ Saturday, September 14,
13
զॴ౸తཚ • ᠍গল • 寻ፙ౸ workaround ศ认为问题ղႊྃ • ༗༻测试ݻԽ Bug,
༰қ产ੜճ归Bug Saturday, September 14, 13
զॴ౸తཚ • ᠍গল • 寻ፙ౸ workaround ศ认为问题ղႊྃ • ༗༻测试ݻԽ Bug,
༰қ产ੜճ归Bug • Ұ Bug Մೳࡏଟ处ग़现ɼ༗尝试፺ࡧଖଞ༗ Bug తํ Saturday, September 14, 13
զॴ౸తཚ • ᠍গল • 寻ፙ౸ workaround ศ认为问题ղႊྃ • ༗༻测试ݻԽ Bug,
༰қ产ੜճ归Bug • Ұ Bug Մೳࡏଟ处ग़现ɼ༗尝试፺ࡧଖଞ༗ Bug తํ • ༗௨过补ॆࢤखஈདྷ߱ఆҐBugత难 Saturday, September 14, 13
զॴ౸తཚ • ւԸ๏则: 㑌Ұى严ॏࣄނతഎɼඞવ ༗29࣍轻ඍࣄނ300ىະઌஹҎٴ 1000ىࣄނ隐ױ Saturday, September 14, 13
զ们ਪᣑతํ๏ • ग़ྃ问题ෆཁᯪᘃ • 浏览ث • 务ࢤ • แ۩ Saturday,
September 14, 13
浏览ثॄ㜮ʁ Saturday, September 14, 13
浏览ثॄ㜮ʁ • ੋ൱༗ JS 错误? Saturday, September 14, 13
浏览ثॄ㜮ʁ • ੋ൱༗ JS 错误? • ᠓络请ٻੋ൱发ग़ʁ Saturday, September 14,
13
浏览ثॄ㜮ʁ • ੋ൱༗ JS 错误? • ᠓络请ٻੋ൱发ग़ʁ • 发ग़త请ٻੋ൱ਖ਼䉯ɿ URL,
ํ๏, ࢀ, Accept, Cookie Saturday, September 14, 13
浏览ثॄ㜮ʁ • ੋ൱༗ JS 错误? • ᠓络请ٻੋ൱发ग़ʁ • 发ग़త请ٻੋ൱ਖ਼䉯ɿ URL,
ํ๏, ࢀ, Accept, Cookie • ظతฦճ值ੋॄ㜮ʁ Saturday, September 14, 13
浏览ثॄ㜮ʁ • ੋ൱༗ JS 错误? • ᠓络请ٻੋ൱发ग़ʁ • 发ग़త请ٻੋ൱ਖ਼䉯ɿ URL,
ํ๏, ࢀ, Accept, Cookie • ظతฦճ值ੋॄ㜮ʁ • Request-Id Saturday, September 14, 13
Request-Id • 对㑌࣍请ٻ产ੜҰ།ҰతId Saturday, September 14, 13
Request-Id • 对㑌࣍请ٻ产ੜҰ།ҰతId • 该 Id Ҏ HTTP Response Header
తํࣜ 发ૹ౸٬户 Saturday, September 14, 13
Request-Id • 对㑌࣍请ٻ产ੜҰ།ҰతId • 该 Id Ҏ HTTP Response Header
తํࣜ 发ૹ౸٬户 • ՄҎࡏ nginx 层໘实现҃ऀࡏ业务逻辑层 ໘实现 Saturday, September 14, 13
务ࢤॄ㜮ʁ • ࢛ཁૉ Saturday, September 14, 13
务ࢤॄ㜮ʁ • ࢛ཁૉ • 时间: 䇖࢝时间ɼ总时 Saturday, September 14, 13
务ࢤॄ㜮ʁ • ࢛ཁૉ • 时间: 䇖࢝时间ɼ总时 • 谁: ༻户Id, Session-Id,
Request-Id Saturday, September 14, 13
务ࢤॄ㜮ʁ • ࢛ཁૉ • 时间: 䇖࢝时间ɼ总时 • 谁: ༻户Id, Session-Id,
Request-Id • ၏ॄ㜮: URL, ํ๏ɼXHR?, format, ࢀ(ҙ อ护ີ码) Saturday, September 14, 13
务ࢤॄ㜮ʁ • ࢛ཁૉ • 时间: 䇖࢝时间ɼ总时 • 谁: ༻户Id, Session-Id,
Request-Id • ၏ॄ㜮: URL, ํ๏ɼXHR?, format, ࢀ(ҙ อ护ີ码) • 结Ռੋॄ㜮ʁ Saturday, September 14, 13
务ࢤॄ㜮ʁ • 对ଖଞ务త请ٻ • 邮݅ɼ৴ɼଖଞ务... • 记录请ٻ详时 Saturday, September 14,
13
ୠੋ经ৗ༗䭧తࢤ Saturday, September 14, 13
wireshark tcpdump • แ۩ • wireshark: ༗ք໘ • tcpdump: sudo
tcpdump -n -s 4096 -w 1.log port 80 Saturday, September 14, 13
ଖଞ۩ • strace/dtruss: ܥ统调༻᪑᪨۩ • lsof: ྻग़จ݅ଧ䇖ႎ • valgrind: 查ଘᔔ࿐
• ltrace: 查询库调༻ Saturday, September 14, 13
总结 • զ们ਪਸ௨过Ұ䝅ܥ统తํ๏དྷੳ问题ɼ寻ፙ 问题తࠜݯ • զ们对ᯪ试错๏དྷղႊ问题 • ೳ࠶现త Bug ੋ
Bug, Ռෆೳ࠶现ɼཁ፤౸ 对应త᠓络请ٻࢤ • Ռ这࣍ղႊෆྃ Bug, ಹ㜮बվળ㟬తࢤɼ䉯 อԼ࣍ Bug ग़现త时ީೳղႊଞ Saturday, September 14, 13
զ们团队 Saturday, September 14, 13
Q&A Saturday, September 14, 13