![]() |
RAD Server 10.2.3 Performance Patch
Embarcadero has just released a performance patch for the RAD Studio 10.2.3 version of
![]() Getting The RAD Server Optimization Patch This patch is available at* ![]() Testing the Optimization Patch I've personally tested the patch against the development version of RAD Server in the following scenario: I run the server without debugging, disabled logging, and used Apache Benchmark client (ab) from a different machine on the same network. I used different calls, but eventually settled on these: ab -n 1000 -c 10 -k ![]() ![]() // Code for [ResourceName('xyz')]procedure TXyzResource.Get(const AContext: TEndpointContext; const ARequest: TEndpointRequest; const AResponse: TEndpointResponse);begin AResponse.Body.SetValue(TJSONString.Create('xyz ' + TimeToStr(Now)), True)end; The second endpoint executes a FireDAC query returning a database table in a stream, based on the internal FireDAC JSON format, and with a document length of 13,909 bytes. // Code for [ResourceName('data')]procedure TDataResource1.Get(const AContext: TEndpointContext; const ARequest: TEndpointRequest; const AResponse: TEndpointResponse);var AStream: TStream;begin EmployeeConnection.Connected := True; FDQuery1.Open; AStream := TMemoryStream.Create; FDQuery1.SaveToStream(AStream, sfJSON); AResponse.Body.SetStream(AStream, 'application/json', True);end; The components have a very simple configuration, with a connection to the sample InterBase database, and the query*'select * from employee'. The Data from the Test I've tested the same scenario, same machines, same code with 10.2.3 (before applying the patch) with the patch, and with some additional fine tuning in the configuration. The table below has the information from ab for the 2 endpoints: * data xyz 10.2.3 plain Requests per second: 49.70 Time per request: 20.121 ms Requests per second: 111.93 Time per request: 8.934 ms 10.2.3 with performance patch Requests per second: 402.67 Time per request: 2.483 ms Requests per second: 3336.61 Time per request: 0.300 ms 10.2.3 with performance patch </br> with*thread pooling and keep alive Requests per second: 426.59 Time per request: 2.344 ms Requests per second: 3954.74 Time per request: 0.253 ms You can see that the difference is very significant: for the complex call, from 46 to 426 requests per second, is almost a 10x increase, for the simple code from just above 100 to almost 4,000 is just short of a 40x increase in throughput.* Summary For Embarcadero and the RAD Studio team, the RAD Server technology is a key piece of the plans and the future. Focusing on its performance was important, and more is coming in terms of Delphi RTL optimizations in the future. We have also added better support for JavaScript clients (including Ext JS) in the 10.2.x updates, and also made available a free deployment license with the Enterprise license. RAD Server is a key technology and a great way to bring*your client/server applications towards*the future, with a service oriented and more distributed architecture, ready for mobile and cloud deployment. Stay tuned for more. http://feeds.feedburner.com/~r/marco...~4/5Zpl69bLI_0 ![]() |
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:13 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz