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
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
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
62
HTTP协议相关的若干安全问题
lidaobing
9
1.3k
Debian & Packaging
lidaobing
1
610
Java 质量保障
lidaobing
3
360
OAuth: How and Why?
lidaobing
1
200
从 Struts 迁移到 Spring MVC,以及为什么?
lidaobing
2
710
glusterfs 文件系统
lidaobing
2
260
如何学习 Shell
lidaobing
3
390
Other Decks in Programming
See All in Programming
見えないものを探る要求要件定義に必要な基本的思考 / invisible-requirement-thinking
minodriven
15
8.6k
パズルゲームの作り方 / how to make puzzle games
kaityo256
PRO
2
300
AWS CDKのカスタムリソースでContinuum(旧Security Agent)を実装した話 | Implementing Continuum (formerly Security Agent) via AWS CDK Custom Resource
akihisaikeda
2
150
Herb in Rails 8.2: Your ERB views, now HTML-aware @ Rails World 2026, Austin, Texas
marcoroth
0
220
Findy - エンジニア向け会社紹介/Findy Company Deck
findyinc
6
400k
自サークルのIdPからログアウトできるようになるまで
taiseiue
1
140
Web Framework Benchmark Battle 2026, Any%
a_matsuda
2
2.5k
Optunaを作ったときにやりたかったこと、その後 (2026/10/16, Optuna Meetup #3)
iwiwi
2
990
Kotlinize Is Not Just Converting to Kotlin
chigichan24
1
160
Unity6 URPによる海底をテーマにしたVJシステムの解説 | Unity Shader 完全に理解した 勉強会
gam0022
0
370
Atomic Design, Enforced: Scaling Mobile Design Systems (next.app devCon / droidCon Berlin 2026)
steliosf
PRO
0
170
PumaからFalconに移行したRailsアプリケーションでの実践
falcon8823
0
180
Featured
See All Featured
Bioeconomy Workshop: Dr. Julius Ecuru, Opportunities for a Bioeconomy in West Africa
akademiya2063
PRO
1
410
Crafting Experiences
bethany
1
390
Build your cross-platform service in a week with App Engine
jlugia
234
19k
AI Search: Implications for SEO and How to Move Forward - #ShenzhenSEOConference
aleyda
1
1.4k
DevOps and Value Stream Thinking: Enabling flow, efficiency and business value
helenjbeal
2
410
Chasing Engaging Ingredients in Design
codingconduct
0
370
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
22k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
37
6.6k
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
1.1k
How People are Using Generative and Agentic AI to Supercharge Their Products, Projects, Services and Value Streams Today
helenjbeal
2
360
The Anti-SEO Checklist Checklist. Pubcon Cyber Week
ryanjones
0
270
A brief & incomplete history of UX Design for the World Wide Web: 1989–2019
jct
2
540
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