1 / 7

XML-RPC: How Fast ?

This document analyzes the challenges of XML-RPC, particularly in performance-critical applications. Author Brent Callaghan from Sun Microsystems, Inc. shares his extensive experience with ONC RPC protocols and highlights issues such as the overhead of text-based XML data marshalling, higher CPU requirements, and HTTP bottlenecks. Key points include the inefficiencies of verbose HTTP headers and the impact of text parsing on performance. The conclusion urges developers to avoid using XML-RPC when performance is a priority, and suggests considering alternative protocols for such applications.

Télécharger la présentation

XML-RPC: How Fast ?

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. XML-RPC: How Fast ? Brent Callaghan Sun Microsystems, Inc.

  2. My Background • Experience with ONC RPC protocols • Participant in ONCRPC WG @ IETF. • NFS: high performance, kernel-based • NFS version 4 uses ONC RPC over the Internet.

  3. XML for Data Marshalling • Everything is text:<Name>Jane</Name><Age>3</Age> • Convenient for text-oriented transports, e.g. SMTP, HTTP • Readable by humans (great when debugging) • Covenient if data already described by XML

  4. XML for Data Marshalling • Tags and ASCII make it fat w.r.t binary protocols like XDR. • Needs approx twice as many bytes. • Binary args or results need Base64 encoding (as text) • Significant effect on modem or wireless links. • Text takes time to parse • More CPU instructions per transaction implies more CPUs for a given level of service.

  5. HTTP as a Bottleneck • Verbose HTTP headers on every call:POST /StockQuote HTTP/1.1Host: www.stockquoteserver.comContent-type: text/xmlContent-Length: 1094

  6. Direct Connect RPC Server Port 1234 HTTP as a Bottleneck • Calls funnel through web server on port 80. • RPC service needs to be in web server address space. HTTP Server RPC Server RPC Server Port 80 RPC Server Fork/exec

  7. Conclusion • Don’t use XML-RPC for performance-critical apps..

More Related