PHP chậm hơn 93% so với Node.js
Node.js cho người mới bắt đầu
Lập trình hướng sự kiện thường gây bối rối cho những người mới bắt đầu, điều đó có thể khiến cho người ta gặp khó khăn khi bắt đầu học Node.js. Nhưng đừng để cho điều đó làm bạn nản lòng; trong bài viết này, tôi sẽ dạy bạn một số kiến thức cơ bản của...
Bây giờ hãy quan sát các số liệu benchmark. Bảng danh sách sau đây chứa thời gian response, đơn vị tính là millisecond, cho hai ứng dụng đơn giản ở trên:
Tôi đã chạy hai ứng dụng ở trên từ command line vì vậy sẽ không có server nào làm trì hoãn sự thực thi của các ứng dụng. Tôi chạy mỗi phép thử 10 lần và lấy kết quả trung bình. PHP nhanh hơn đáng kể với số lượng vòng lặp nhỏ hơn, nhưng lợi thế đó nhanh chóng biến mất khi số lượng vòng lặp tăng lên. Và khi tất cả các phép thử hoàn thành, kết quả là PHP chậm hơn 93% so với Node.js!
Bạn đọc tiếp bài viết tại đây nhé: http://bit.ly/1JjXzkD
Thật không thể tin nổi anh @hungho làm ứng dụng nào với nodejs chưa ạ
Mình cũng mới thử thôi, nhưng cái trang của bên TechMaster là làm từ Node.js đó Nghĩa
http://techmaster.vn/
Hiện tại mình đang tham gia dự án Sails.Js ( một FrameWork nằm bên trong Node.Js ) thiên về MVC và xử lý trực tiếp trên Server . cảm nhận của mình là , đối với Sails.Js tuy mới và còn chưa hỗ trợ nhiều nhưng tốc độ của nó rất nhanh và mượt , tuân thủ hoàn toàn theo MVC . Node.Js tương lai sẽ còn tiến xa nữa (Y)
Cool nhỉ chắc rảnh rỗi em học Javascript với cái này keke
Theo kinh nghiệm của mình thì các bài thử này gần như vô nghĩa.
Vì sao? Vì bạn ko dùng PHP để lập trình tính toán mà dùng nó để làm website. Đối với các web application, thời gian chờ chủ yếu là I/O, request.
Giả sử 1 request gửi từ client lên server và dội về mất 500 milisecons, thì 1 vòng lặp 10.000 (có thể chấp nhận được trong code server) của node là 503 và của PHP là 510.53 như bài viết đề cập. Hoàn toàn không chênh lệch mấy. Nếu chỉ tính việc lặp trên server thì PHP chậm hơn Node hơn 3 lần (10.53 so với 3), nhưng tính trên tổng thể thì Node chỉ nhanh hơn PHP hơn tầm 1.5% trong ví dụ này và chắc chắn người dùng không thể phân biệt được sự khác biệt này.
Còn đối với số vòng lặp điên rồ > 1.000.000 mà các bạn thấy PHP thua hẵn NodeJs thì thử hỏi lập trình viên nào làm điều này? Những vòng lặp lớn đó thường được xử lý trong cơ sở dữ liệu chứ ko phải trong source code Node hay PHP của bạn. Cơ sở dữ liệu được sinh ra để giải quyết các vấn đề này. Và đương nhiên, tốc độ xử lý của db thì ko liên quan gì đến việc bạn dùng Node hay PHP.
Nói tóm lại là chuyện nhanh hay chậm thực sự ko phải là 1 vấn đề gì to tát trừ khi bạn dự định xây dựng những ứng dụng khổng lồ có hàng triệu lượt truy cập hằng ngày.
Còn đối với đại đa số các dự án như các mạng xã hội nhỏ, website tin tức, website bán hàng, blog… thì dùng gì cũng được, tuỳ sở thích của mỗi người.
Trước đây mình đã chứng kiến việc server của bọn mình bị sập do có hơn 120.000 truy cập/ngày. Lý do không nằm ở việc mình dùng PHP mà do mình dùng Apache. Sau khi đổi qua Nginx thì chạy vi vu, không phát sinh thêm bất kì vấn đề gì.
Việc benchmark này cũng phải tính tới các ext của PHP. Không biết người benchmark đã tắt các ext không dùng tới hay chưa? (vì khi parser, PHP vẫn phải load các ext này ra)
Ngoài ra, việc benchmark nên làm nhiều lần và lấy kết quả trung bình. Có khá nhiều thứ sẽ ảnh hưởng tới kết quả (IO threshold của disk, RAM, CPU load/usage …)