[Slide] Hội thảo PHP: Debugger, Profiler and more
Đăng trong danh mục PHP bởi admin | Tags: apache, apachebench, benchmark, dbgbar, debugger, firefox, jmeter, kcachegrind, load testing, PHP, profiler, slide, survey, wincachegrind, xdebug
Thế là sáng nay buổi hội thảo cũng diễn ra tốt đẹp, tuy có bắt đầu trễ hơn dự kiến 15p nhưng tất cả nội dung trình bày trong slide đều được nói tới và đầy đủ.
Mình viết vội vài dòng để chia sẻ Slide và tường thuật những gì diễn ra ngày hôm nay để những bạn không có điều kiện tham gia cũng có thể nắm bắt được những gì đã được trình bày.
Buổi hội thảo bắt đầu lúc 8h45 tại cafe Thảo Mộc, TPHCM. Mới khoảng 8h mà đã có thành viên tới nên mình nghĩ các bạn cũng khá háo hức về buổi hội thảo này nên mình phải cố gắng hết sức để trình bày hay và cụ thể nhất để các bạn nắm hết thông tin mà mình chia sẻ.
Dưới đây là Slide của buổi hội thảo PHP: Debugger, Profiler and more mà mình đã trình bày hôm nay.
Buổi nói chuyện gồm có 4 phần chính, đầu tiên là phần giới thiệu về các IDE và một số kỹ thuật giúp bạn sử dụng và lựa chọn các IDE tốt và phù hợp với công việc lập trình của mình. Phần này giới thiệu 1 số IDE thông dụng trong quá trình phát triển web như Dreamweaver, Apatana, PhpEd, Zend Studio, PHP Designer…và một số đặc điểm cần có nếu bạn xem xét chọn 1 IDE cho việc lập trình của mình.
Phần thứ 2 là phần chính, đó là trình bày về kỹ thuật debug ứng dụng viết bằng PHP. Mình giới thiệu sơ về các kỹ thuật thông thường mà hầu hết ai cũng sử dụng để debug như sử dụng các hàm xuất echo(), print_r(), var_dump() và cao hơn một chút là sử dụng cơ chế mở và ghi file (fopen(), fwrite(), fclose()) của hệ thống để ghi log và giới thiệu về một kỹ thuật debug hấp dẫn là sử dụng Debugger chuyên nghiệp của PhpEd.
Bộ debugger cung cấp khá nhiều tính năng cốt lõi để giúp bạn debug ứng dụng như chạy từng bước, step over, step out, run to cursor, breakpoint, xem các biến runtime, xem callstack…Trong buổi hội thảo mình trình bày với các bạn cách cài đặt bộ debugger, cấu hình cho PHP.INI cũng như cài đặt DBGbar addon cho Firefox để tích hợp quá trình debug với PhpEd.
Giải lao 15 phút và mọi người tiếp tục chú ý để nghe mình trình bày về kỹ thuật Profiling, một kỹ thuật rất quan trọng trước khi bạn cho source của mình chạy thực tế. Quá trình Profile code sẽ giúp bạn tìm ra những điểm thắt cổ chai (bottleneck) trong ứng dụng để từ đó đưa ra những chiến lược phù hợp hơn để giải quyết tình trạng ứng dụng của bạn xử lý chậm.
Mình cũng đề xuất với các bạn trong trường hợp ứng dụng xử lý tốn nhiều thời gian mà không thay đổi được thì mình nên thiết kế lại mô hình sử dụng cơ chế AJAX để chia tải bới cũng như caching những nội dung không thay đổi nhiều.
Xuyên suốt phần profiling, mình giới thiệu đến các bạn thư viện Xdebug, cài đặt và một số cấu hình cần thiết để có thể tiến hành lấy thông tin profile code để phân tích tiếp.
Mình cũng giới thiệu tới các bạn 2 phần mềm rất phổ biến để đọc các kết quả sau khi generate từ Xdebug là: WinCacheGrind và Kcachegrind.
Cuối cùng, mình chia sẻ với các bạn về kỹ thuật Load Testing để benchmark ứng dụng của mình dưới những tình trạng có nhiều kết nối một lúc và nhiều request một lúc. Trong phần này mình giới thiệu đến các bạn về công cụ ApacheBench (nếu bạn cài Apache rồi thì mặc định đã có ứng dụng này rồi). ApacheBench là một ứng dụng Command Line cho phép request tới 1 trang web nào đó với thông số concurrent connect và request/connection tùy chỉnh được và sau đó coi kết quả để đánh giá performance của trang web.
Mặc dù ApacheBench khá mạnh, nhưng phần mềm này có 1 hạn chế là bạn chỉ có thể giả lập request đến 1 URL nào đó mà thôi, điều này không giống thực tế lắm. Và để khắc phục hạn chế chỉ cho phép request đến 1 URL này, mình giới thiệu đến các bạn phần mềm Apache jMeter, đây là một ứng dụng Java miễn phí và bạn có thể giả lập request từ nhiều connection đến nhiều trang web khác nhau trong website của bạn.
———————————-
Ngoài ra, tại buổi hội thảo mình cũng có nhờ các bạn tham gia làm 1 survey nhỏ để xem nhu cầu và phản ứng của các bạn thế nào và đây là kết quả sau khi mình phân tích:
————
Đó là những gì đã được trình bày tại buổi hội thảo, mình hy vọng các bạn sẽ thấy hứng thú và tham gia vào các hội thảo sau này do BlogHoctap tổ chức. Gởi lời cảm ơn đến trung tâm công nghệ mạng CISNET, văn phòng phẩm BEST, những bạn đã giúp mình trong buổi hội thảo cùng toàn thể các thành viên tham gia đã làm cho buổi hội thảo diễn ra suôn sẻ và thành công. Cảm ơn mọi người.
Bài viết liên quan:
10 Lời bình cho bài viết “[Slide] Hội thảo PHP: Debugger, Profiler and more”
Viết lời bình
Bình luận mới nhất
- Giải thể công ty là hạnh phúc ?!
"Chú thiệt tài năng làm tới giám đốc kỹ thuật Dienmay thật đáng nể. Cho" - JimmyTèo - Giải thể công ty là hạnh phúc ?!
"@tranthe, Vụ người quản lý " - admin - Giải thể công ty là hạnh phúc ?!
"Kinh nghiệm là muốn làm 1 ý tưởng nào đó, càng lớn càng cần nhiều ngườ" - Lê Phạm Duy Hậu - Giải thể công ty là hạnh phúc ?!
"Cám ơn những chia sẻ của anh, nhưng mà việc mở thì vẫn phải mở, mở ra " - tranthe - Giải thể công ty là hạnh phúc ?!
"Há há, chúc mừng anh, hy vọng sẽ sớm có ngày hợp tác với anh, bên em đ" - Võ Phát - Giải thể công ty là hạnh phúc ?!
"Nhiêu đó chưa thấm gì mà, mỗi lần có liên quan tới giấy tờ là anh chị " - luckyluu - Tham gia quảng cáo trên ứng dụng Android
"Hi Tuấn, Mình là Thu. Hiện tại mình đang rất quan tâm đến việc hợp " - Tien Thu - phpmailer gởi mail SMTP bằng Gmail/Google Apps
"một số hosting bây giờ để chống spam họ đã chặn luôn cả phpmailer." - nokia 6110 - Ứng dụng Mobile Android
"hay" - thanh - Review sách: Người giỏi không phải là người làm tất cả
"sach toi chua doc nhung toi da nghe wa ve no tren internet nhung tuo" - huong dai ca
Danh mục
- android (3)
- Business (26)
- Flash (1)
- Graphic Design (16)
- IT Guys (1)
- Javascript (9)
- Miscellaneous (58)
- mobile (1)
- Photography (9)
- PHP (43)
- Review sách (13)
- Search Engine Optimization (2)
- security (3)
- software (5)
- User Interface Design & Usability (8)
- Web Design (29)
- Web Programming (53)
Lưu trữ
- June 2013 (3)
- September 2012 (1)
- May 2012 (2)
- March 2012 (2)
- February 2012 (1)
- January 2012 (1)
- December 2011 (1)
- November 2011 (2)
- September 2011 (2)
- August 2011 (1)
- July 2011 (4)
- June 2011 (2)
- May 2011 (2)
- April 2011 (2)
- March 2011 (2)
- February 2011 (2)
- January 2011 (4)
- December 2010 (6)
- November 2010 (3)
- October 2010 (3)
- September 2010 (5)
- August 2010 (6)
- July 2010 (5)
- June 2010 (2)
- May 2010 (5)
- April 2010 (7)
- March 2010 (8)
- February 2010 (4)
- January 2010 (10)
- December 2009 (12)
- November 2009 (12)
- October 2009 (15)
- September 2009 (16)
- August 2009 (11)
- July 2009 (15)
- November 2008 (1)
- October 2008 (1)
- September 2008 (3)


















April 11, 2011 at 12:30 am
Thanks anh nhiều lắm
Buổi hội thảo này rất có ích ….
[Reply]
April 11, 2011 at 1:42 am
Quả 2 cái screenshot giống hệt nhau (slide Small Quiz, 7/37) mà tác giả hỏi khác nhau sao khó quá
, bạn Tuấn cho đáp án đi
[Reply]
admin Reply:
April 11th, 2011 at 1:50 am
Hihi, thật sự chỗ đó là em copy từ 1 screenshot ra đó nên có điểm khác nhau mới sợ. Em tạo cái Quizz đó để giúp chỉ cho các bạn hiểu một vấn đề sự quan trong của sử dụng ký tự tab và ký tự khoảng trắng sẽ ảnh hưởng đến quá trình đọc code của mình. Bởi vì nếu sử dụng space thay cho tab thì nhiều khi sẽ bị vấn đề indent khi chuyển sang view code bằng 1 editor khác.
[Reply]
April 11, 2011 at 8:27 am
Buổi chia sẻ kiến thức rất bổ ích, củm ơn Tuấn nhiều, mong có nhiều buổi thảo luận hơn nữa về lập trình php và nghề lập trình hen.
[Reply]
admin Reply:
April 11th, 2011 at 10:16 am
Rất vui khi thấy hội thảo có ích cho bạn. Chắc chắn là sẽ còn có nhiều hội thảo về PHP nữa ^^
[Reply]
April 11, 2011 at 9:01 pm
Cảm ơn bạn Tuấn đã chia sẻ những kinh nghiệm bổ ích này! Chúc bạn nhiều sức khỏe để làm nhiều việc có ích cho cộng đồng PHP nữa nhé!
[Reply]
admin Reply:
April 11th, 2011 at 9:09 pm
Cảm ơn bạn nhé. Mong được làm quen.
[Reply]
April 11, 2011 at 11:21 pm
Tiếc ơi là tiếc, hôm đó bận việc đột xuất nên không đến đc.
ngậm ngùi download slide về ngâm cứu vậy.
Thanks anh Tuấn nhiều nhé. E đến với PHP và các giải pháp mã nguồn mở cũng vì những người như anh đó
[Reply]
admin Reply:
April 11th, 2011 at 11:30 pm
Tiếc nhỉ, hôm đó mình nói khá nhiều, tối về khan cổ luôn, hihi
[Reply]
July 23, 2011 at 11:46 pm
minh vua moi buoc vao canh gioi thu ba cua bai nay. con canh gio profi thi minh moi biet thiet la cam on ban nhieu. hoi thao ma ban lap ra nay theo minh la rat co y nghia.
[Reply]