Experimental Evaluation of the PHP's cURL Library Performance
Abstract
cURL (libcurl) is a popular and widely used library distributed with the php interpreter. It allows php applications to connect to and communicate with external resources (servers) by using wide variety of communication protocols. In most cases it is the preferred way of consuming external REST web services. Programmers usually use it for granted without even thinking of any performance issues. During an experimental analysis of the Hadoop's WebHDFS API throughput, it has been noted that read (download) speed from WebHDFS reduces with increasing the file size. However, this issue does not happen when writing to WebHDFS. Since the communication between the php application and the WebHDFS API is handled by the php's cURL library, then the cause of the download speed decrease could be either the cURL library itself or the API. This paper presents a series of experimental analyses aiming to determine the cause of the download speed decrease in previous experiments - whether it is the WebHDFS API or the php's cURL library. Both parties are tested in multiple ways separately and independently of each other. Results clearly prove (in two different ways) that the cause of the download speed decrease is the php's cURL library itself, not the consumed API.
- Publication:
-
arXiv e-prints
- Pub Date:
- January 2024
- DOI:
- 10.48550/arXiv.2405.00001
- arXiv:
- arXiv:2405.00001
- Bibcode:
- 2024arXiv240500001K
- Keywords:
-
- Computer Science - Distributed;
- Parallel;
- and Cluster Computing;
- 68M14 (Distributed systems);
- 68M20 (Performance evaluation);
- 68M11 (Internet topics)
- E-Print:
- PROCEEDINGS OF UNIVERSITY OF RUSE - 2023, volume 62, book 3.2., pp. 28-33