"ทำอย่างไร server ไม่ล่ม" แต่จริงๆอย่างไรก็มีโอกาส(ล่ม)
02:04 เขียนโดย QA Optimization - Performance and Stability
บทความคงเน้นเรื่องแนวคิด(concept)ยังไม่ลงลึกถึงเรื่องทางเทคนิค(ถ้าหนังสือขายได้ อาจมีเล่ม 2-3)
ระบบจะเน้นที่ windows+IIS+ASP.NET+MSSQL และ LAMP(Linux+Apache+MySQL+Perl/PHP)
หัวข้อที่คิดได้ตอนนี้(เพิ่มเติมได้นะครับ)
1.บทนำ
-จุดประสงค์หลักของการออกแบบระบบให้ทำงานได้อย่างราบรื่นก็คือต้องการให้ระบบทำงานไปถึงจุดหมายสูงสุดคือระดับ 99.999% ซึ่งมักถูกเรียกว่า "five nines" ซึ่งหมายถึงระบบ down ได้ 5.26 min ใน 1 ปี
2.Web Server and Scripts
- IIS,Apache,lighttpd,LiteSpeed,nginx,Yaws
3.Web Site Optimize
- Rule of Fast Web and Optimize (JavaScript ,YSlow,Minimize CSS, JS and PNG,Gzip)
4. แนวคิดการเขียนโปรแกรมแบบ High Available
- Message Queuing(MQSeries,MSMQ,ActiveMQ,RabbitMQ,beanstalkd,gearman,starling)
- Session Management
- Hibernate
- SOA
- RESTful (Apache CouchDB,Amazon’s Simple Storage Service,Yahoo,eBay,Flickr,Del.icio.us,Facebook,Google GData/Picasa)
- Template(smarty..etc)
5.แนวคิดการทำ Caching
- Page Caching
- MemCached
- Query Cache
- Script Cache (PHP Cache/APC/eAccelerator,Python/django/MintCache)
- Content Cache(Varnish, Squid)
6.แนวคิด High Available Database
- Partition/Shard,View
- Store Procedure,Profiler
- Replication
- Distribute Database (Distribute Query)
- Tunning
- hypertable,BigTable,Hadoop
7. แนวคิดเรื่องการแบ่งภาระกันทำงาน
- Scale Up,Scale Out
- Load Balancing ,NLB,CLB,HAproxy,pound
- Clustering,Fail Over,Heartbeat
- Virtual Server
- P2P,Grid/Cloud Computing
8.แนวคิด High Available Storage
- SATA,SCSI,iSCSI,SAS
- RAID 0,1,5,6
- NAS,SAN
- distributed filesystem(NFS,mogilefs..)
9.Performance Testing/Capacity Plan
- Load Runner,ACT,WebLoad,Httperf
- PHPunit,DBunit,strace, dtrace, ltrace
- Capacity Plan (RRDtoo,Munin)
- (Not “how fast” but “how many”, Test “force”, not speed,Test scalability, not just “performance”)
- System Monitor (Hyperic,Ganglia)
10. Hardware/Network และ OS
-แนวคิดเรื่อง Datacenter and High Available Network
- Hotswap,chipkill ..etc
- CentOS
- Content Delivery Network(Akamai, LimeLight, PantherExpress, CacheFly..)
- Netwok Appliance
11.แนวคิด Backup & Recovery,Disaster Recovery,Security
12. กรณีศึกษา(มาดูว่าระบบจริงๆเขาทำอย่างไร)
- LiveJournal ผู้ให้กำเนิด memcached
มีสมาชิกมากกว่า 10 ล้าน ต้องรองรับการเข้าใช้อย่างน้อยเป็นพัน hits/วินาที
LiveJournal มักเป็นกรณีศึกษาสำหรับการทำ High Availability
bigtable,MapReduce ..
- hotmail(การย้าย hotmail จาก BSD ไป Exchange)
- youtube
- ebay
- flickr
- Amazon
- Wikimedia
- Slashdot
- FeedBurner
- MySpace
- Friendster
0 ความคิดเห็น:
แสดงความคิดเห็น