Web caching is essential for the World Wide Web, saving processing power, bandwidth, and reducing latency. Many proxy caching solutions focus on buffering data from the main server, neglecting cacheable information meant for server writes. Existing systems addressing this issue are often intrusive, requiring modifications to the main application for integration. We identify opportunities for enhancement in conventional caching proxies. This paper explores, designs, and implements a potential prototype for such an application. Our focus is on harnessing a faster bulk-data-write approach compared to single-data-write within the context of relational databases. If a (upload) request matches a specified cacheable URL, then the data will be extracted and buffered on the local disk for later bulk-write. In contrast with already existing caching proxies, Squid, for example, in a similar uploading scenario, the request would simply get redirected, leaving out potential gains such as minimized processing power, lower server load, and bandwidth. After prototyping and testing the suggested application against Squid, concerning data uploads with 1, 100, 1.000, ..., and 100.000 requests, we consistently observed query execution improvements ranging from 5 to 9 times. This enhancement was achieved through buffering and bulk-writing the data, the extent of which depended on the specific test conditions.
翻译:Web缓存对万维网至关重要,可节省处理能力、带宽并降低延迟。许多代理缓存解决方案专注于缓冲主服务器的数据,却忽略了旨在写入服务器的可缓存信息。现有解决该问题的系统通常具有侵入性,需要修改主应用程序才能整合。我们识别了传统缓存代理中可改进的机会。本文探索、设计并实现了此类应用程序的原型。我们的重点是在关系数据库背景下,利用比单数据写入更快的批量数据写入方法。若(上传)请求匹配指定的可缓存URL,则数据将被提取并缓冲到本地磁盘,以供后续批量写入。与现有缓存代理(例如Squid)相比,在类似的上传场景中,该请求仅会被重定向,从而损失了诸如最小化处理能力、降低服务器负载和带宽等潜在收益。在针对Squid进行原型测试时,针对1、100、1000至100000个请求的数据上传场景,我们始终观察到查询执行性能提升了5到9倍。这一提升是通过数据缓冲与批量写入实现的,具体幅度取决于测试条件。