ทีมงาน Grails จัดทำเบนช์มาร์กทดสอบสมรรถภาพการใช้งาน Grails เทียบกับ Rails ขึ้น ผลลัพธ์เป็นไงลองเดาดูครับ : )
Grails เป็นเฟรมเวิร์กที่ได้รับแรงบันดาลใจจาก Rails แต่เกิดมาเพื่อ Groovy ที่ทำงานบนจาวาแพลตฟอร์ม แม้ Grails ยังใหม่มากเมื่อเทียบกับ Rails ทั้งในแง่ของอายุ และเรื่องความใส่ใจด้านสมรรถภาพการทำงาน แต่ทีมงาน Grails ก็หาญกล้าอยากวัดรอยเท้ากับผู้จุดประกายของตัวเอง
การทดสอบเป็นการวัดสมรรถภาพของการทำงาน CRUD ของเฟรมเวิร์ก ในแง่ของความเร็วและความสามารถในการให้บริการ โดยใช้การยิง request พร้อมๆ กันทีละ 50 ตัวเข้าไปจนครบ 1000 ตัวเพื่อดูความเร็วการตอบสนอง
Rails มีการทำ load balance ไปที่ Mongrels 10 ตัวผ่าน Pound ส่วน Grails ขอแค่ Tomcat ตัวเดียวที่มี Servlet Thread 10 ตัวพอ
ผลออกมาเดากันถูกอยู่แล้วครับ แม้ Rails จะทำได้ดีกว่าหากเทียบความเร็ว request เดี่ยวๆ แต่ถ้ามองประเด็นการให้บริการหนักๆ พร้อมๆ กัน Rails จะมีอาการเป๋พอสมควร ต่างจาก Grails ที่ดูแล้วสเกลได้ดีกว่าเยอะ
ที่มา - Grails Project
Comments
ออกตัวก่อนว่าไม่ใช่สาวกทั้งคู่ :P แข่งกันเยอะๆ ก็ดี
เคยทดสอบอะไรพวกนี้เหมือนกัน แต่ผมคิดว่าการทดสอบแบบนี้มี factor ภายนอกเยอะเกินไป จะเอามาตัดสินว่า framework ไหนดีกว่ากันไม่ได้
ยกตัวอย่างง่ายๆเลยนะ ผมทำ cluster ของ apache http server ไปเจอว่า Pound นี่ล่ะคอขวด graph request/s saturate ตั้งแต่ generate load ได้ไม่เท่าไหร่ พอเปลี่ยนเป็น load balancer เป็น LVS แบบ direct routing นี่รับ load ได้เยอะมากเลย
ตอนนี้เริ่มเล่น Rails มาได้สองอาฑิตย์แล้วคิดว่าตอบโจทย์ของผมได้ดีพอสมควร หันไปดู Grails แวบๆ ไม่ได้ดูละเอียดนะอาจจะผิดก็ได้ ผมยังเห็น Spring กับ Hibernate ติดอยู่เลยตัดสินใจเลือก Rails ดีกว่า ถึงจะต้องไปหัด Ruby ใหม่ก็เหอะ ^^" มีใครมีประสบการณ์การใช้ Grails มาเล่าให้ฟังบ้างสิครับว่าปัญหา xml configuration หมดไปหรือยัง (ตรงนี้ถ้าระบบเล็กอาจไม่ใช่ปัญหา แต่พอระบบใหญ่ผมมองว่ามันเป็นปัญหามาก)
From Grails user's perspective, there's no XML configuration in Grails at all :). Spring, Hibernate, etc. are completely underneath it. However, Grails provides flexibility for you to integrate your own Spring XML configuration and/or Hibernate mapping (for someone who want to merge their old system with a Grails application).
BTW, if you're a Grail contributor, like me, you need to get your hand dirty with Spring configs.
-- http://chanwit.blogspot.com
แบบนี้ก็น่าสนใจครับ ไว้จะลองดู ขอบคุณครับ :)
xml configuration นี่มันเป็นปัญหายังไงเหรอครับ เห็นหลายคนเริ่มบ่นๆ กันแล้ว
มันเยอะครับ จะทำอะไรทีนึงต้องไปไล่ใน xml หาว่าเราโยงส่วนนี้ไว้กับ class ชื่ออะไร กว่าจะหาเจอเหงื่อตก ^^"
บังเอิญผมใช้หลายตัวร่วมกันด้วยสิ ปัญหามันเลยทวีคูณ ที่ใช้ก็มี Struts + Tiles + Spring + Hibernate ทุกตัวมาแนวเดียวกันคือ xml configuration file นี่ยังดีนะที่ Spring มาช่วยรวบรวมให้เป็น ไฟล์เดียวกันได้พอสมควร แต่ยังไงปัญหาเรื่องการหาความเชื่อมโยงก็ยังเป็นปัญหาอยู่ดี
ถ้ามี tool ดีๆก็อาจจะช่วยได้มากครับ
อืม จริงสินะครับ พูดถึงเรื่อง class ที่เชื่อมโยงกัน เริ่มมองภาพออกแล้ว พอดีไอ้ที่ผมเคยทำก็เป็นงานเล็กๆ xml config เลยดูเป็นเรื่องที่ไม่มีปัญหาอะไร
ชอบ Groovy ครับ
แฟนพันธุ์แท้สตีฟจ็อบส์ | MacThai.com
Grails ออกเสียงว่า เกรล หรือ กเรล ครับ
ผมชอบเผลออ่านเป็นตัวหลังอ่ะ
ไม่ค่อยสันทัดเรื่องภาษา แต่เข้าใจว่าแบบหลังน่าจะถูกครับ ลองดูที่ Longdo
ขอบคุณมากเลยครับ