Tweaking SAFE a bit (or how we had a more pleasant Free Weekend)

LOG

ENTRY: SOL 1 

Singleton is not your best friend

Performance test 

8 Sept 2015

Now to the code

breaking_singleton_before

After that...

LOG

ENTRY: SOL 2 

When average time to load a page is almost 10 sec... 

One day before starting Free Weekend...

LOG

ENTRY: SOL 3 

CDN

To the code

before_optimizations

LOG

ENTRY: SOL 4 

Don't get it again if you have it already

IUserIdentity

Image's ParentRecord

LOG

ENTRY: SOL 5 

Last performance test on Thursday 17th 23:00, a few hours away from FreeWeekend

Some Learnings

-Don't use singleton just to avoid having to instantiate a class or interface.

Some Learnings

-Don't use singleton just to avoid having to instantiate a class or interface.

-Pay attention to the lifestyle of your components.

 

Some Learnings

-Don't use singleton just to avoid having to instantiate a class or interface.

-Pay attention to the lifestyle of your components.

-Avoid doing extra requests to get something that you have already. Check if you can use IoC factories to resolve a component and can reuse it in several places.

 

Some Learnings

-Don't use singleton just to avoid having to instantiate a class or interface.

-Pay attention to the lifestyle of your components.

-Avoid doing extra requests to get something that you have already. Check if you can use IoC factories to resolve a component and can reuse it in several places.

-CDN is great.

 

Some Learnings

-Don't use singleton just to avoid having to instantiate a class or interface.

-Pay attention to the lifestyle of your components.

-Avoid doing extra requests to get something that you have already. Check if you can use IoC factories to resolve a component and can reuse it in several places.

-CDN is great.

-ViewModels are to display, don't use it to run some BL or get some functionality done.

 

Some Learnings

-Don't use singleton just to avoid having to instantiate a class or interface.

-Pay attention to the lifestyle of your components.

-Avoid doing extra requests to get something that you have already. Check if you can use IoC factories to resolve a component and can reuse it in several places.

-CDN is great.

-ViewModels are to display, don't use it to run some BL or get some functionality done.

-Remember separation of concerns and responsibility of different parts of the application: SAFE vs FMP vs SAPI. Check with people that have the domain knowledge before doing the changes.

 

Tweaking SAFE a bit Or how we've got a more pleasant Free Weekend

By Juan Antonio Vicaria

Tweaking SAFE a bit Or how we've got a more pleasant Free Weekend

  • 95