AppFabric缓存-性能

本文关键字:性能 缓存 AppFabric | 更新日期: 2024-09-27 05:27:13

我开发了一个RESTful WCF服务(WebHttpBinding),它是一个AppFabric Cache客户端。我使用jMeter进行了性能测试。测试计划包含服务中的一个操作,该操作将在100个并发线程中调用。

然而,我注意到,在运行测试后,the first 20 to 30 threads are taking considerable amount of time to get the response (say 10-15 seconds)和其他所有线程将在2-3秒内完成执行,并打开AppFabric Cache相关代码。每当我对AppFabric相关代码进行注释时,它都会正常工作。请注意,我只使用Get,不使用Put

我的服务作为AppFabric具有以下配置:

<dataCacheClient requestTimeout="60000" channelOpenTimeout="15000" maxConnectionsToServer="2">
    <localCache isEnabled="true" sync="NotificationBased" ttlValue="300000" objectCount="100000" />
    <clientNotification pollInterval="10" maxQueueLength="100000" />
    <hosts>
      <host name="**********" cachePort="*******" />      
    </hosts>
    <securityProperties mode="Transport" protectionLevel="EncryptAndSign" />
    <transportProperties connectionBufferSize="131072" maxBufferPoolSize="268435456" maxBufferSize="8388608" maxOutputDelay="2" channelInitializationTimeout="60000" receiveTimeout="600000" />
  </dataCacheClient>

有人能告诉我们是什么导致了最初的延误吗?

AppFabric缓存-性能

如果进行性能测试,则必须从预热期开始。在此期间,您允许应用程序进行启动,并填充所有缓存。启动期结束后,您可以测试应用程序的现实生活偏好。

在实践中,您启动应用程序并运行几分钟,而不测量性能。然后开始测试并测量性能。您将看到在测试开始时没有启动延迟。