Em chào các anh,
Em là sinh viên năm cuối của trường đại học Công nghệ. Hiện tại em đang làm luận văn về "Evaluating Drupal Performance". Em xin các anh một vài gợi ý cho bài luận văn của em với ạ.
Hiện tại em có tạo 1 trang drupal và joomla có chức năng giống nhau (em cố gắng cho 2 trang giống nhau nhất có thể, cùng có login, recent content ...ở vị trí giống nhau)
Sau đó em sử dụng công cụ JMeter và apache benchmark để tính request per second mà 2 cái có thể handle và so sánh. Kết quả em có gửi trong file đính kèm, bao gồm screenshot của 2 trang drupal và joomla, test RPS can handle, test document byte và test average time RPS
Các anh có ý tưởng gì về đánh giá performance của Drupal nữa ko, các anh chia sẻ cho em với.
Phần khó nhất của luận văn của em là tìm 1 giải pháp để tăng performance của drupal, hoặc xây dựng 1 công cụ gì đó đánh giá performance của drupal, các anh có ý tưởng hay kinh nghiệm chia sẻ cho em với nhé
Em xin chân thành cám ơn
Quang Sơn
Comments
Chào em, Anh Nam đây.
Chào em, Anh Nam tặng chú hosting đây.
performance của Joomla anh nghĩ khó có thể bằng với Drupal được.
Nếu so sánh thì điều kiện cần như nhau, ví dụ cùng cấu hình máy chủ cùng số tin bài , dữ liệu như nhau, cấu trúc dữ liệu cùng khá phức tạp.
Nhưng drupal lại có các modul cache, index đi kèm thì Joomla sẽ không thể nhanh bằng.
Hơn nữa Drupal có sức mạnh từ kiến trúc dữ liệu, vì vậy dữ liệu càng có độ phức tạp cao thì câu lệnh query vẫn rất đơn giản, vì vậy hiệu năng vẫn rất đảm bảo.
Hơn nữa Joomla ko thể làm được các ứng dụng phức tạp nên để so với Drupal thì hơi khập khiễng.
Em chào anh Nam :) Em cám ơn
Em chào anh Nam :)
Em cám ơn anh vì anh reply lại cho em rất nhanh và nhiều ý em có thể tham khảo.
Ý tưởng của em là đánh giá performance của drupal, nhưng nếu chỉ đánh giá riêng nó thì rất khó nhận xét nên em chọn joomla cũng là top CMS để so sánh.
Vì lên báo cáo luận văn em ko thể nói drupal nhanh hơn joomla hay tốt hơn joomla được nên em phải thực nghiệm để cho ra bảng biểu, chart để chứng minh, so sánh.
Về giao diện test: Em giả sử 2 người, 1 người dùng joomla, 1 người dùng drupal, cùng enable các chức năng giống nhau, có cùng bài viết giống nhau (như screenshot em gửi drupal-theme.png; joomla-theme.png) và so sánh xem trang nào hoạt động tốt hơn.
Về môi trường test: Em dùng 1 máy laptop làm host, máy desktop làm client, test qua mạng LAN để ko bị ảnh hưởng lag mạng
Về phương diện test: Em test trong 3 trường hợp: No cache; Cache enabled; Cache enabled + Gzip (Kết quả trong Test RPS can handle.png)
Hiện tại em mong muốn các anh gợi ý thêm cho em về phương diện test, hay một hướng test khác....
(p/S: Joomla cũng có chức năng cache + gzip giống drupal ạ, nhưng theo kết quả em test thì cache của joomla ko đạt hiệu quả bằng drupal)
Em cám ơn
Thêm reference để tham khảo
(Nếu em chưa từng đọc) thì đây là 2 bài khá chi tiết về so sánh Drupal với CMS khác
- http://www.sooperthemes.com/blog/joomla-15-drupal-61-performance-compari...
- http://sven.webiny.com/benchmark-webiny-vs-wordpress-vs-drupal-vs-joomla...
Em có thể tham khảo và đối chiếu rồi share lại nhé. Good luck
Drupal Specialist Teams
CMS performance
Chào bạn,
Mình là người đã từng làm cả Joomla và Drupal khá lâu, nếu nói so sánh performance thì rất khó nói.
Drupal phát triển theo hướng hook nghĩa là nếu bạn muốn làm thêm function nào đó, bạn là người hiểu drupal sẽ ko bao giờ phải hack code. Chỉ cần dùng đúng hook thì mọi thứ sẽ OK.
Joomla thì lại phát triển theo hướng các module thường đi theo 1 component (core function nào đấy) tất nhiên trong Joomla cũng có plugin tuy nhiên nó không được như hook của drupal.
Chính vì sự khác biệt trên, 1 module viết cho drupal sẽ dùng được vào rất nhiều project( tính reuse rất cao), trong khi module/component của Joomla lại không làm được việc ấy. Tuy nhiên có điểm bất lợi là hầu hết các project phát triển bằng drupal sẽ dùng rất nhiều module. Chính vì vậy nếu cài 1 drupal fresh lên thì nó sẽ rất nhẹ, nhưng khi làm project thực tế bạn sẽ thấy rằng nó chẳng chay nhẹ nhàng như bạn tưởng đâu.
Mình ví dụ nhé, bạn dùng các module trong đó có 6 module đều có hook_nodeapi, mục tiêu của bạn chỉ xử lý $node->status =1, nhưng 6 module đấy, mỗi module lại làm 1 lệnh gán $node->status 1 lần (như vậy bạn phí mất 5 lần xử lý) => website của bạn sẽ chạy chậm hơn.
CMS nào cũng có cái lợi cái hại của riêng nó. Tùy vào mục đích mình sử dụng.
Re: CMS performance
Em chào anh ạ,
Anh nói rất đúng, mỗi CMS đều có cái lợi hại riêng của nó. Mục đích của em chính là làm rõ cái lợi hại riêng của Drupal thông qua test, vẽ bảng biểu và đánh giá, tùy theo mục đích sử dụng như thế nào thì Drupal mạnh, mà theo mục đích như thế nào thì yếu. Có người nói cùng nội dung như nhau, tạo trang web đồ sộ thì nên dùng drupal, trang web đơn giản thì nên dùng joomla...và nhiều nhận xét khác nữa. Mục đích của em là bằng thực nghiệm đo đạc để chứng minh các nhận xét đó đúng hay sai.
Bước đầu của em mới là so sánh với 2 trang drupal và joomla truyền tải nội dung như nhau tới người đọc thì performance của chúng khác nhau ntn, chứ chưa tập trung vào giải thích, vì sao lại nhanh hay chậm ạ.
P/S: em rất cám ơn anh đã chia sẽ những kinh nghiệm quý báu trong quá trình sử dụng joomla và drupal cho em và mọi người được biết
Em cám ơn anh Tom Tran
Em cám ơn anh Tom Tran đã reply à gợi ý cho em ạ. 2 bài anh gửi em cũng từng xem qua, 2 bài cũng so sánh theo hướng no cache; cache enable; cache + gzip enable. Tuy nhiên bài số 2 có so sánh thêm cả các CMS khác TomatoCMS, Wordpress... em dự định cũng sẽ so sánh thêm và nhờ các anh nhận xét.
Hiện tại em mới nghĩ ra 3 hướng so sánh
_ So sánh các CMS với nhau (hiện tại em mới so sánh đc Drupal và Joomla): trong trường hợp no cache; cache; cache + Gzip
_ So sánh các phiên bản Drupal (hiện tại em đang so sánh Drupal 6.25 và 7.12): để chứng minh cùng 1 trang web có nội dung như nhau thì drupal 6 hay drupal 7 có performance tốt hơn
_ So sánh web server: Apache/nginx/lighttpd: để chứng minh cùng 1 trang drupal thì host trên webserver nào cho performance tốt hơn
_ So sánh sự thay đổi về performance của Drupal khi sử dụng module boost (http://drupal.org/project/boost) cho anonymous user
Các anh trong diễn đàn có ý tưởng so sánh nào nữa chia sẽ cho em biết với nhé, từng kết quả em sẽ post lên diễn đàn nhờ các anh nhận xét.
Em xin chân thành cảm ơn
Performance
Luc danh' gia' performance, em cần chú ý thêm performance có ít nhất 2 ý:
* (1) Is it fast?
* (2) Is it scalable?
(1) liên quan đến việc nếu 1 user request 1 trang, thì bao lâu sau (X seconds) trang đấy load xong.
(2) liên quan đến việc nếu co' rất nhiều user request cung 1 trang, thì liệu còn la X seconds response time hay ko.
Từ các proj anh đã làm, drupal hook làm cho chỉ số thư (2) rất tệ, khi có nhiều user thì tính scalability của drupal rat kém, nhất là đối với những Drupal site thật - dùng nhiều module.
Em cám ơn anh halhx nhé. Anh
Em cám ơn anh halhx nhé. Anh nói thật chuẩn :D em phải mất một thời gian mới hiểu sơ sơ được nghĩa của từ performance. Hiện tại em mới tìm ra được một số hướng như là:
_ (Load Testing == Is it fast) Em test bằng cách tăng dần số người request cùng một lúc từ 10 requests per second (RPS), 20 RPS, 30 RPS....rồi đo xem thời gian load trang tăng hay giảm như thế nào. Test cái này em sử dụng JMeter (http://jmeter.apache.org/) kết quả ví dụ ở file Test RPS.png ạ
_ (Stress Testing == Is it scalable) Em test bằng cách tăng dần số người request cùng một lúc lên cho tới khi apache stop working để xem trang chịu được tối đa bao nhiêu người truy cập 1 lúc (cái này em có thể dùng JMeter hoặc apache benchmark để test)
_ (Duration Testing) Em test bằng cách cố định số người request cùng một lúc, nhưng cho chạy trong một khoảng thời gian dài đến khi apache stop working, xem trang web có thời gian chịu được tải như thế là bao lâu
_ (Configuration testing) Tức là áp dụng các tools, các thủ thuật, phương pháp để làm tăng performance của drupal (cả về back-end và front-end), và dùng các công cụ đánh giá xem tăng thêm được bao nhiêu so với default => và rút ra kết luận dùng cái nào là tăng tốt nhất
Hiện tại em mới nghĩ ra được ngần đấy hướng, các anh chị có thêm các hướng nào khác nữa chỉ dẫn giùm em với nhé. Em cám ơn
Gửi em quang Sơn
A nghĩ là nếu e so sánh hiệu suất giữa Drupal và Joomla chỉ với một bản ghi như vậy thì rất khó.A cũng đã từng làm qua Joomla thì thấy rằng ở những giai đoạn đầu của website khi mà có ít dữ liệu thì Joomla có ưu thế hơn về mặt hiệu suất nhưng càng về sau khi dữ liệu lên đến hàng nghìn bản ghi e sẽ thấy joomla thực sự là 1 vấn đề.(ở đây cả 2 cái đều dùng các module cache như e đã nêu)
E nên tìm hiểu thêm về vấn đề a vừa nêu ở trên nhé.Chúc e đạt kết quả tốt.
Gửi bạn @halhx vấn đề thứ (2) mà bạn nêu trên sẽ ko thành vấn đề nếu bạn kết hợp apache+nginx,và các module memcache, varnish nó sẽ làm tăng hiệu suất đáng kể.Theo kinh nghiệm của mình thường thì web drupal chạy chậm còn do ko đủ bộ nhớ cấp cho mysql nữa.(Drupal tiêu tốn tài nguyên máy chủ hơn).
tranh theu chu thap
tranh gan da
@dcpromaster: Theo minh nginx
@dcpromaster:
Theo minh nginx & apache la 2 webserver doc lap, chi? dung 1 trong 2, ban da~ tung dung ca? 2 ket hop nhu the nao, xin chi? dan voi. Thuc ra nginx so voi apache dc cai dung it RAM / instance hon, do do' cùng 1 server thì serve dc nhiều concurrent users hơn -> có giúp cho (2)
varnish chi? co' tac dung voi public content, ko co' tac dung voi authorized content.
memcache phu thuoc vao viec dung no' the nao, ko the noi' cu dung la se giai quyet dc moi van de
=> cac giai phap ban neu ra se giup tang kha nang cua (2), nhưng những giải pháp này cũng có the ap dụng cho joomla,hay bất cứ web framework nao kha'c.
Đối với bài luận của Quang Sơn, mình nghĩ vẫn cần đánh giá cả 2 mặt của performance.
Gửi @halhx
Như vậy bạn chưa dùng kết hợp cả 2 rùi.thế này nhé bạn dùng nginx để xử lý các file tĩnh,còn apche để xử lí các file động.
Mình sẽ có một bài về kết hợp cả 2 cùng một lúc trên diễn đàn.
ko biết bạn đã dùng varnish chưa nhỉ,nếu dùng mà ko giải quyết được vấn đề trên thì có lẽ bạn cấu hình còn thiếu hoac ko đúng?
memcache bạn nói cũng đúng nhưng vấn đề là bạn config nó thế nào thôi.
Ở đây mình chỉ nói đến khi mà số lượng bản ghi lớn thì Drupal hơn hẳn joomla về hiệu suất(với cấu hình server hỗ trợ là như nhau.Các bạn có thể kiểm chứng nhé)
tranh theu chu thap
tranh gan da
Như vậy bạn chưa dùng kết hợp
Như vậy bạn chưa dùng kết hợp cả 2 rùi.thế này nhé bạn dùng nginx để xử lý các file tĩnh,còn apche để xử lí các file động.
Mình sẽ có một bài về kết hợp cả 2 cùng một lúc trên diễn đàn.
neu chi? dung nginx xu ly' file tinh, thi ko co' tac dung lam, tru truong hop site Drupal cua ban chi? serve public content.
ko biết bạn đã dùng varnish chưa nhỉ,nếu dùng mà ko giải quyết được vấn đề trên thì có lẽ bạn cấu hình còn thiếu hoac ko đúng?
have done this many times. Varnish server dung de cache file tinh~, nhung ko serve dc authenticated data. Neu ban lam dc varnish server de cache dc authenticated data, xin chi? giao' them.
memcache bạn nói cũng đúng nhưng vấn đề là bạn config nó thế nào thôi.
Ở đây mình chỉ nói đến khi mà số lượng bản ghi lớn thì Drupal hơn hẳn joomla về hiệu suất(với cấu hình server hỗ trợ là như nhau.Các bạn có thể kiểm chứng nhé)
Cái này chỉ là bạn nói thế thôi, kiểm chứng như thế nào, bạn có thể chỉ rõ hơn ko?
Tại sao bạn phải dùng cả 2?
Php chạy với nginx qua mod cgi nên tốn CPU hơn so với php chạy mod_php với Apache.và nó cũng xử lí file php chậm hơn so với Apache.
Còn nginx chạy static file rất tốt.
Nếu bạn không dùng nginx làm reverse proxy thì bạn có thể dùng Varnish,nó có thể xử lí đồng thời rất nhiều request gửi tới server.
Đối với "authenticated data" thì bạn nghiên cứu thêm cái này nhé:
- Block caching
- Reducing the number of modules your site uses
-Views/CCK vs a custom module
- Memcache
- Authcache
- Ajaxify Regions
- Logging to syslog
-MySQL caching: database in ram
Nó còn tùy thuộc việc sử dụng của mỗi người thôi.
tranh theu chu thap
tranh gan da
Thank for the info,
Thank for the info, dcpromaster. This has been a very informative discussion.
Cám ơn anh dcpromaster gợi ý
Cám ơn anh dcpromaster gợi ý cho em :) Em cũng rất muốn test về phương diện này.Các anh có thể cho em hỏi là có công cụ gì giúp mình tạo bài viết mới, user mới và comment mới một cách tự động cho drupal và joomla không ạ?
Em cũng từng search trên mạng thì tìm được một bài article nói về performance của drupal 5 (của Dries Buytaert-người sáng lập drupal): http://buytaert.net/drupal-5-performance. Bài báo nói là ông tạo 1 trang web 2,000 người, 5,000 nodes, 10,000 comments để test. Em nghĩ chắc là có một tool nào đấy để tạo tự động mới đc nhiều thế này :-?
Còn trong trường hợp phải tạo thủ công, các anh có nhiều kinh nghiệm về các site lớn, nên cho em hỏi là tạo bao nhiêu nodes, users, comments để so sánh thì vừa ạ? (em xin các anh con số khả thi một chút ạ :) chứ tạo thủ công lâu lắm)
Em xin chân thành cám ơn
tự động tạo nội dung
http://drupal.org/project/devel
Có lẽ cái này có thể giúp được bạn
Em đã thử dùng module devel
Em đã thử dùng module devel và có thể tạo comment, user, article một cách tự động rùi. Ngoài ra module devel còn có vài chức năng khác rất hay nữa (display page timer, memory use, $page array). Em cám ơn anh HoangNhat nhé :)
Ok bạn, mình cũng đang tìm
Ok bạn, mình cũng đang tìm hiểu thôi, giúp nhau cùng phát triển là chính :)
Khập khiễng
Load nhanh hơn chính là Joomla, nhưng cache hết cỡ các loại lên thì drupal thấy nhanh hơn, dùng phần mềm thì nhiều khi không có cache như trình duyệt nên khó so sánh.
Bảo mật hơn và tốt hơn là Drupal !
My blog: Jamviet.com, Hỏi đáp trực tuyến, váy dài
Neu ban muon lam evaluate
Neu ban muon lam evaluate drupal performance thi minh nghi ban nen chia ra nhieu phan nhu page load, query statistic, and memory usage, etc.
Theo minh thi Drupal default system cache cung rat nhanh, neu website cua ban optimize ve custom themes and modules.