Browse Source

Performance improvements.

pull/426/head
Sebastian 6 years ago
parent
commit
92717383db
  1. 5
      src/Squidex.Infrastructure/Log/JsonLogWriter.cs
  2. 4
      src/Squidex.Shared/Users/UserExtensions.cs
  3. 18
      src/Squidex/Config/Logging.cs
  4. 15
      tools/LoadTest/ReadingBenchmarks.cs
  5. 5
      tools/LoadTest/ReadingFixture.cs

5
src/Squidex.Infrastructure/Log/JsonLogWriter.cs

@ -206,15 +206,10 @@ namespace Squidex.Infrastructure.Log
}
private static string Format(string property)
{
if (ReferenceEquals(string.IsInterned(property), property))
{
return property;
}
return property.ToCamelCase();
}
public override string ToString()
{
jsonWriter.WriteEndObject();

4
src/Squidex.Shared/Users/UserExtensions.cs

@ -86,7 +86,9 @@ namespace Squidex.Shared.Users
public static bool HasClaimValue(this IUser user, string type, string value)
{
return user.Claims.Any(x => string.Equals(x.Type, type, StringComparison.OrdinalIgnoreCase) && string.Equals(x.Value, value, StringComparison.OrdinalIgnoreCase));
return user.Claims.Any(x =>
string.Equals(x.Type, type, StringComparison.OrdinalIgnoreCase) &&
string.Equals(x.Value, value, StringComparison.OrdinalIgnoreCase));
}
public static string PictureNormalizedUrl(this IUser user)

18
src/Squidex/Config/Logging.cs

@ -18,23 +18,25 @@ namespace Squidex.Config
{
builder.AddFilter((category, level) =>
{
if (category.StartsWith("Orleans.Runtime.NoOpHostEnvironmentStatistics", StringComparison.OrdinalIgnoreCase))
if (category.StartsWith("Orleans.", StringComparison.OrdinalIgnoreCase))
{
return level >= LogLevel.Error;
}
var subCategory = category.AsSpan().Slice(8);
if (subCategory.StartsWith("Runtime."))
{
var subCategory2 = subCategory.Slice(8);
if (category.StartsWith("Orleans.Runtime.SafeTimer", StringComparison.OrdinalIgnoreCase))
if (subCategory.StartsWith("NoOpHostEnvironmentStatistics", StringComparison.OrdinalIgnoreCase))
{
return level >= LogLevel.Error;
}
if (category.StartsWith("Orleans.Runtime.Scheduler", StringComparison.OrdinalIgnoreCase))
if (subCategory.StartsWith("SafeTimer", StringComparison.OrdinalIgnoreCase))
{
return level >= LogLevel.Warning;
return level >= LogLevel.Error;
}
}
if (category.StartsWith("Orleans.", StringComparison.OrdinalIgnoreCase))
{
return level >= LogLevel.Warning;
}

15
tools/LoadTest/ReadingBenchmarks.cs

@ -7,6 +7,7 @@
using System.Collections.Generic;
using System.Threading.Tasks;
using LoadTest.Model;
using Squidex.ClientLibrary;
using Xunit;
@ -35,11 +36,13 @@ namespace LoadTest
int[] loads =
{
1,
5,
10,
20,
50,
100
100,
1000
};
foreach (var user in users)
@ -102,5 +105,15 @@ namespace LoadTest
await Fixture.Client.GetAsync(new ODataQuery { Filter = "data/value/iv gt 3 and data/value/iv lt 7", OrderBy = "data/value/iv asc" });
});
}
[Theory]
[MemberData(nameof(Loads))]
public async Task Should_return_clients(int numUsers, int numIterationsPerUser)
{
await Run.Parallel(numUsers, numIterationsPerUser, async () =>
{
await Fixture.AppsClient.GetClientsAsync(TestClient.TestAppName);
});
}
}
}

5
tools/LoadTest/ReadingFixture.cs

@ -9,6 +9,7 @@ using System;
using System.Threading.Tasks;
using LoadTest.Model;
using Squidex.ClientLibrary;
using Squidex.ClientLibrary.Management;
namespace LoadTest
{
@ -16,6 +17,8 @@ namespace LoadTest
{
public SquidexClient<TestEntity, TestEntityData> Client { get; private set; }
public IAppsClient AppsClient { get; private set; }
public ReadingFixture()
{
Task.Run(async () =>
@ -36,6 +39,8 @@ namespace LoadTest
await Client.CreateAsync(new TestEntityData { Value = i }, true);
}
}
AppsClient = TestClient.ClientManager.CreateAppsClient();
}).Wait();
}

Loading…
Cancel
Save