Treffe. So, hi everyone. Mein Name ist Daniel Kuhn.
Und my talk to date will be about fast what applications.
And this is my first talk about the book or second
talk, actually. But the first talk in English.
So there's forget me anymost text on the slide.
So something like this. As you know,
making web publications fast is a very hard job.
And it's a very white area. So I was,
when I was making the presentation,
I was thinking,
what can I
tell you
What you don't already know. So I guess nothings.
So thanks for the presentation. Yeah. No. I was
looking at the last meetups. And I saw that you guys are,
or that you guys had many presentations about the frontend optimizations.
As well as in the last session from Uwe Bessley,
a talk about the low testing etc., which is unfortunately,
because I wanted to base my talk about measuring the optimizations.
So what I wanted to do to day as
I talk today will be about performance, of course.
And I want to give a first of all in overview.
And I want to tell why optimization really matters. And then,
I want to refresh, what you furth in the last session,
because I think it's very important to measure to masure performance
and to measure how your improvements are.
So, and the last topic will be scopes of optimization.
So I want to talk a little bit about the
stack and which areas you
can optimize
So, again, I'm Daniel Kuhn.
I'm limbing in Munich. And I'm a dedicated soph and
they are developer at the company called Quizma.
We are Online-Marketing-Performance-Marketing in Agency and Munich. And I'm specialized in
backend optimization performance and the little bit of back data,
which is my think in the biggest buzzword on the slide.
So, I'm as well, I'm also the co-outer of
performance of back-anwendung, the book your hopfully
see in the next
few minutes
What I'm doing at Quizma is,
we are handling a more than 5 billion requests a month
and I'm writing optimized software and I'm optimizing software.
So this talk will be about the mistakes and will be
about the lessons learned and as will this is or
this systemain part in the book. So performance really matters,
because optimized software and a good imlimitation reducers of course hardware
costs and it reducers the possibility of system failures and outtages
And this is saving grill money in the end.
So, by reducing the possibility of system failures and outages,
you can, sorry. So, to users,
fassed software really matters, because for the most people,
it for the most people, Google is the Internet.
So when they go to landing page, Ben they go
to google, they are used to fast loading content,
snappy websites, they used facebook.
So they used to very fast interfaces.
And they have to day different expectations. So the users,
so the optimization is really important, for your applications to.
The users and erious as well are changing to words mobile devices.
So the mobile usage, because the mobile usage and the
market is ingree or other will increase
There's a demand for better user interfaces and eddie month for
optimized usability in the end.
And I had a tended a talk from Scott.
It's a look up daneben. Scott Woods from Facebook,
who is that director of European market and middle east?
And he for example said that they had the mobile application from Facebook,
which was basically edgy my five.
And the usability was a loading was at really good.
So the users as didn't really actually used
to Facebook-App
As they could. So they were changing. It to
native application. And they it turned out they didn't change
the use and the face, but they just changed implementation.
So, it's hand it out that the usage,
the usability was much better, because the content was lowing faster.
And they content was lowing very fast.
And so the usage or the acceptence at the users of
from the users were really good
That's they demand users today demand for optimized usability and especially
in the mobile market. It's deminding for fast lot in
content and this on this together in a limited band with.
So, yeah. Performed optimization is however. Really important
in the future. And again, big data,
I guess is in our area the biggest buzzword currently.
So the most or many companies are storing massive a mount of data and in my pinion,
there is not really a good con on the most companies,
there's no real concept about about storing about, yeah,
no real concepts of what to do with the content.
So what companies will do, my guess,
as using the data for real time in Alysis,
using the data presenting it to the front and.
And this means, we have in the back and analyze
more data in last time. Especially, if you see,
and combine these area, user demanding for snappear website.
And the bobile market, and if you put everything together,
I guess performance of the mization will even
be more important in the future
Mhm. And again, I guess, you know,
all this, we optimized to increased reliability of a
web pature adlication, especially with with low tests.
And if you website is reliable, you generate revenue,
for example, if you take the example of web to print publisher,
which is generating his content, just one months before Christmas.
So, if the website or if the service is
not evailable
In this time, doesn't generate revenue.
So, this is bad for the business. So,
we have reduced cost of an optimized application,
cost in terms of server costs, etc.,
because we don't need to scale that much and we don't have to put in more and more hardware.
And of course, we have an interest customer certains fiction,
because if you have a usable interface,
you don't need to make that many request,
because the user finds his goal,
more fast
And you don't make, many Quests or webpage its,
this means, you have an increase customer certains faction,
in optimizing you usability and optimizing your backup.
And for the people who are mattering about search engine ranking,
google is also taking the speed into account.
And how ever optimization doesn't come for free optimization costs money
and of course time.
And the really important things are are one,
you you need developers with right mindset
You have to have developers who are really interested to squeez
out the last bit of your application and last bit of performance of your application.
And it of course demands for support of the management. This is,
I guess the main part, because just because you say,
oh, I want to optimize, nobody in the management will say,
okay, yes, why, why not?
It just costs money, go had.
So then you so be a justification. For example,
for the web to pink prop rap to print publisher
To say, okay, we need top to miss
the application to hots this month in the year,
then we don't need, what we can generate more revenue,
we can get the customer citize
faction hub, if we are delivering faster. So this is a suggestification,
and maybe you get the supported management for your optimizations.
And of course, autimization is an ongoing process.
So justification, optimization doesn't come of on high.
So you have to optimized applications to ring your development process,
and you can of course optimized applications,
after you are have a or
with the production system
Or a production a code, which is or assystem,
which is life, or or ready life.
So I fred and the last week, one thing,
which I want to and not miss on this slide.
There was a guy who said, optimization does mess up
my code, and I have to object, because if
you optimize, if you take your time to optimize and if you implement your
code correctly and you take your time and you dokuments well,
it doesn't really mass up your code.
For example, he was talking about The using or not
using the framework correctly like it is documented,
so just going around the framework.
So before we optimize, we need to know,
how good is the current setup?
And how reliable is the setup? And of course,
what the, what other limits of my setup?
And if you make, if you make optimizations,
you need to know, was my optimization successful.
And that brings as to we need to measure the performance
Auf eine Applikation. Und das ist der Part,
der Lesson oder die Präsentation in der Last-Meetup hat.
Und wir haben zwei Dinge, für die ich etwas low testinge,
und die anderen Dinge, ich denke, das ist Performance-Testing.
Bolth help you to both have you to optimize
or measure your performance of your system,
where low testing is measuring analyzing the system as a whole
performance-testing is measuring the and analyzing the software itself
And low testing your try to overload the system and see,
what's happening to determine this stability of the system?
The reliability and the recoverability of after failures. In this is important,
because if you are doing a low test evils here linear scale of your response time.
And after certain time, you will see that it the curved decreates,
so and the response time is really verring.
So what you have to do is,
you have to us You have to define,
diff some criterias, for example do say,
my system, the maximum or the minimum,
what I accept, is 5 seconds response time.
And the maximum what I accept is 10 seconds and after 10 seconds,
I believe that my systems not usable anymore. So,
in this is a criteria,
you can use and you a low test and determine,
what is need a how many users can I, can I surf,
contraurantly, before the system is not use up anymore.
And in recoverabability means if you overloading the system.
And if I stop the low test, what it's needed
to recover the system. So maybe you run your low
test and you overload your database. And or you,
I don't know, you should your, a patch your whatever.
Then it's important to know, what have I or what
what's my things to dos if if something happens.
So do I have to our wake up in the night
and restart my service or is it recovering by itself.
And this is I guess really important
So, a lot has shows of the performance is soufficient.
So, soufficient for the time, when I say,
I have this application,
which has 100 concurrent users in a minute or in a second.
And the system is serving that in my limits,
which I said, for example, fuck seconds,
then the performance is currently soufficient.
If it's not, I have to optimized they, thanks.
And the performance test, when I see, okay,
there's a problem,
then I have to optimized a system,
by profiting coding components
Das Performances as showing the bottlenecks, fecific bottlenecks.
So in a lot has you are,
to see our out, also can see, bottlenecks,
if you look, if you look at your monitoring,
for example, catty no moon in, and you see,
okay, my missy bio is at 100% you tellization.
So I have to do something about that.
And then you can do a performance test and see which
part of deplication, as doing that load.
Or, of course, in if its your application,
you might no where the optimization has
be done
So there is some lauters software for example Twitter,
Yago, which I didn't personally use yet.
There is a pedgy chain mater, there is a system called locus,
which as the python tool, which are find really nice.
Then you have course a pedgy pedg.
And you really is a service in the US,
way can make low tests and profile your a completely stack
or a at least some part of the stack.
So and what's the goal from this? The goal is combine,
the data of the prest users aside,
which is the low test side,
what an the sort of best users of the load
And there is the monitoring side. So what's happening to
my system, what's happening to my CPUs?
What's happening to my load everages? And this compining this
data is very important, because you can see,
I'm ramping up the load and what's happening to my to
my CPU and you can put these in relation.
So for performance testing, there is some profiling
tools for example for PHP, you have XD-Bug for Python,
you have see profile.
And for Java, there is the intelligent
visual VM
Plugin and of course for chavascript,
you can use the browser or some other tests.
For example, we've page tests or something like this.
I have to confess, I'm not that a front and guy.
So this is my co-other, a michael right, who cannot be here today.
So I'm more focused to the back and. So what
you can also do is, you can you self-fritten profilers.
And for example, we had at my current employer,
we had a problem with our life system.
And would it know where you tappened? Because it wasn't
wirklich to dositivel on the development system it wasn't free bedo
usable on the staging system. So What we did is,
we used aspect or into programming to join and to every function a logging function,
which is, which was logging out the time steps.
So and we could see that our our our our our
ow was to time our own, over edistributed file system.
Every can see. So, AOP, maybe your friend.
So, this is british simple, just a few lines
of code and you can profile your yourself, your code.
Just a small workflow diagram. So,
put it all together, you can do all low test,
at for when you start to optimize,
before your optimize you can
You can do a lot has. And you can see if
the limit was hit. So your own limit which you defined.
For example, 5 seconds. If you cannot produce load than increase,
increase a load, by putting more producers, putting in more producers.
If you hit the limit, and you see, okay,
my performance is efficient, you may not have to do anything.
You can say, okay, I don't don't need to optimize.
But maybe for future requirements, I know, that next year,
my company will will crow, Hunt by 100 percent.
So I need this performance. So you can do performance
sest of course
If you have instificial proformed performance, you want to do performance tesses well.
So, you make a performance test and important this that you,
if you detect the bottleneck, you fix tests one bottleneck.
And so you tests make it test. So,
Valley date the fix again by performance test and then do another performance test.
And this is really important, because if you have two fixes,
and he one is good and one is bad and you
end up at the same performance in the end,
you don't know, which was bad on,
which was worst.
So, it's important to just make one fix
Test again, make one fix, test again. And of course,
taking software fixes, over hardware fixes is always the goal,
because hardwares, most pensive then software.
If you, that do your own optimizations. And after some fixes,
you should do a low test again, to validate,
how reliable is my system,
do I have any issues in cide effects, so whatever,
which is coursing that my load is in over a system mystic creasing.
So again, If you look at low tests and Performance-Tests,
both should be done with a testplan.
So defined criterias, quantifying the criterias. Both unever finished,
but the that is count assoufficiant for the current time.
And low tests can also show Bottlenecks by using monitoring tools
. And testing should be done in a control environment.
This is also important, because if you are doing the
for example, you have a Bottleneck in your in your
database. And you using your big database classe.
You want see it probably
Because you have this really database classe. Reason really the big
database cluster. So you should use a control environment,
which is better if it small, because you see the bottlenecks,
you see that your queery, your join,
or whatever, is really, really bed.
So you wouldn see this maybe on a big database cluster.
So and one thing, which is also important.
Bottlenecks will be beshifted around between components. So if you are for your example,
you have an application, which has to lovely high cPO,
a cPU tolization, which is your limit,
which is your problem, which is your bottleneck.
And you optimize that the bottleneck and then And it's showing,
okay, you assistant now hits, the IO limit of your system.
Than you fix in the IO. And then in the next test,
you see, oh, my CPU is again problem.
So, and it's should shifting wrong portanics,
there's always one component, which is the worst part in the system.
Or which is the bad part. Das gab's auf Offtimization,
which should be the main part for now.
Performance, there are some performance bottlenecks, which are can identify.
You can how for examplely hardware, which is of course
client and server hardware
You can see the operating system as one scope of timization.
For example, if you have,
what has virtualization layers, curnal distributions or Windows.
No, just kindy. And do we're network can be
a problem. And of course, the software itself.
So ideavided the both or I've different should be 20th posts
one software environment, which is the program in language,
your framebox, your using the latteries,
drivers etc.
And the
software itself,
so architection emplementation
And another performance bottle that can be your storage layer,
which is, I guess,
the more but a biggest part in the whole system,
or mostly in my opinion or in my experience the thing, who's always a bottleneck.
And of course, if you using third party applications,
through APIs, this may also calls a problem in your system.
So, come to the first hardware. Oh,
oh, I have to co-back. And you see,
these I not just Server in kleinen Side,
they are also not just server side they are also client side,
because you can have your software,
your using chaos cript on your front and,
and you have for example, PHP,
your back and you have two software stacks.
So the network is, of course, the signal transfer.
And of course, the client operating system maybe problem,
but and of course, maybe in the hardware to client can your problem.
So, come to the hardware. The client hardware in
my pinion is unknown, because you never know,
does you have a big CPU doesn't to have a big
CPU is hieß
On a mobilie weiß, okay, you can see that
by the browser. But you don't know,
or you might now now which, which CPU has,
oh whatever. So server and client hardware is important,
and more is not always better. If you,
if you look at Games or,
if you look at for example the Xbox,
just to show you why more is that always better.
If you look at Games,
one running on the Xbox and one running on your desktopcy,
you always see that game on the Xbox is
more optimized for this pecitic system and running with less hardware
Maybe we were the same, we were the sein performance,
over the same craphics, order the Graphics resound.
So optimized, if you have less hardware,
you end up with better software, normaly.
So, Hardware has minum requirement. So if I want
to store one gigabyte of data in my memcash,
I need at least more than one gigabyte in my machine.
So, there is always for a software,
it as always a minimum requirement in Hardware.
And one important parties, we don't want to scale vertically
We are was one to scale Horizontely to just not use
the biggest assist this refine for our data miss classe.
But to just put in more data base servers, commodity hardware
. So one thing is get your software architecture right,
because this is the main parent of the,
where you can save hardware.
And we can see that in a moment.
So the operating system can be a problem.
I was running into that to use ago,
when I to go one all system at macron employer
And we had 25 tracking service from our all system, which was PHP.
And it was running on a all susal linux vosion,
which I didn't want to use in the end,
because it's I didn't know susan at the time and it was really mess.
So we tend it up to just use Dibian Squeeze,
or Dibian Lenny, I don't know.
And we set up 24 servers or use puppet,
to set up or a, yeah,
I guess it was puppet, to Startup the Machines, put
on the software etc. and We found out that,
we then need the Hardware, the 204-Service, which is need 14.
So we just shut down 10-service and any doubt,
we hadn't more performance as we had to before.
So new OS-Vorsorsions, new or curnal voltions are a low-hanging fruit,
you contested easily, you contested tests the system on your
development system and just maybe end up with about a performance without doing.
Anything to the software. The same for virtualization,
when we use rabbit mQ, we,
we saw that rabbit mQ was taking,
lots of sepure you tilization or lots of sepur use it
And we had this on a physical hardware,
where we had other systems with heavy CPU Utilization.
And we, ähm, we had the problem that Machines
where taking CPU use it from another.
And we had it up with a really bad performance.
So, what we did in the end is to distribute,
äh, VMs by system usage, so put together.
I o heavy systems with CPU happy systems, because they,
you tolize the hardware in a whole as,
our better then, a single one.
So, this maybe you low hanging fruit, ähm,
to just test in your system
Coming to the Network. The Network is basically a black box.
You don't see, what's happening to TCP? You don't see,
what's if it uses concession control or something glattes,
you don't never know, what's happening words with with with HGTP.
You can tested, of course, but so
and the band with the varice between users and devices.
So you have the mobile carrier on the one hand and
you have your company, your company,
your company network with a good,
with a good connection
Also, from network you can say availabilities not garantiert and if you know,
look at the whole thing from, oh we are.
Okay. And if you look at the whole thing from
before the users and the big data and the mobile devices,
then you see that... And you... What do you do it?
Yeah, evaliability is not there
not heat
And you see that,
if you use using big tater and you have to generate,
more content and if you for some the using or doing some reports where the user has to wait a minute or two minutes and till the data is provided,
then abilability maybe a problem,
because you on a mobile evise you cannot wait and till,
maybe your, you're on the eC,
train and you lots a create you,
you lose a connection on till that two minutes,
where you would get the data so.
Network maybe a problem
All you have the thing about the network. What you
can do is, you can use cashes,
you can use CDNs to Speed Up Performance.
So put images in the CDN etc. And you most of
the times have the better away ability.
You can bring love you content. And and you can
do you can optimize your content, by usic CSS-Sprites,
reducing the sites with Jesup.
And you could retuse the request of course.
So everything you, you know, from reducing,
I to to people requests front and site optimizations
Well, some I good for the network, so to optimize the content.
So in again, get your software architecture right, because this is,
of course, the, yeah, this is your to do.
Software environment, different language is have different strength.
If you are, you should always use,
the right language for the right shop of possible.
So in many companies, it's not possible to choose use,
we using Java, and be heasing PHP,
because you have to to stay your stack, you just need to views,
Ruby and Rails or you have to USPHP so.
But it's always a good idea, if you're,
if you make an architecture for a new software,
something like this, look at other programming nanguages and see maybe there's,
maybe this is better to use.
So, oh, it's, yeah,
the performance will end of better, with the same resources.
What you also can do is, oh, versions of
frameworks, drivers and library simportant. So maybe,
if you're using a framework in inversion and the use Another worsion,
and new version, the performance will pend up to will tender,
will be better in the end.
So, it's always good to look at the versions of a
framework and to test was happening, if I use in your version.
And for example, lips and drivers, if your using,
a try of for example, for mongo dv,
if your pHP, which I did, a few years ago,
then it's, I could ingreese the performance by chest updating to driver.
And sometimes by 30%
So, it's always, it's always good to just
have a look, what's happening with new versions.
Abstraction layers costs or make hose performance. For example,
if you have a software which is all where,
it's needed to have a really good respreonse time.
Then maybe it's not good to use ascenframe work at all.
Maybe it's better to chust strip out a framework,
ride your owns,
small call parts and tend up with it better to performance
in the end. I had the or I learned
my lessons when I was doing or when I was programming
a new
Oppocation for my current employer. I used the sent framework,
which costs or which tended up to be 600 milli seconds
just bootstrapped, the bootstrapped, process etc.
And to my could a code was reached. So in the end,
I was stripping out the Framework and just used the small of Framework.
And tended up with sechs milli seconds, before my,
before my code was reached.
So the performance in Chris was, by the time,
500 it an a few milli seconds.
So a performance a our abstraction layers make
hose performance
Klein, Browsers voicions, or clime Browser voicions,
if you if you using you are a versions,
you made and out with it or you probably ten that with about a front and performance,
because they update it just updated, they are chavascript,
engine,
so you have to take that into a count.
Ja, and what you can do as testing,
testing, and testing, testing new versions,
testing you libraries, testing other languages maybe if
you can, and replaced parts which are which are
not good
Software-Architecture ist, I guess, the most important part and the whole system.
If you have an optimized storage concept, if you have a cashing concept,
or if and if you have a dataflow concept, it's good,
it's, what's always good to have a good storage concept and a cashing concept.
Because, if you know, where you did to datas generated,
and what you want to do with the data up front,
then you can, you can see you what data,
you needs to be really, really start and where it's a bestory in the end.
So, for example, If you look at the Magento-Store-System, E-Commerce-System,
what they are doing as they and when they just started they had this EAV-Model,
it's also endity attribute Value-Model, which there storing,
so it's how to say, it's a concept way store,
the table names, attributes of the table and the body's of the table and three different tables at all.
So what you have to do is,
if you read one product from the data base,
you have to queery enjoy three tables in the end,
or more, if you want to have,
if you want to have If you want to be type compliant.
Typensicherheit, ja. Ja, sorry. So if you
have a stories, what they did is the when they edit
or when you add in the new versions if you add product,
they are writing for once the EAV model.
And they are writing a plain table. So that you
can read the data base or it that you can read the products without any join.
And this is If you have a storage concept behind it,
you can you can pre-generate content, you can pre-equagate content on a right,
if you have a read intents of system.
If you have a right intens of system than,
you have to look at the, you have to think about other storage concept.
You have to have a cashing concept,
because you can it, when we made, when we,
we have the first review of our book concept,
there was a guy who was saying, cashing, bis der Arzt kommt.
So cashing and till the doctor comes.
And because a friend of his said that that's always good
So, and this is one thing,
where I have to object because you cannot cash everything.
And you don't want to cash everything. Thank about,
if you have, for example, at my companies,
we have account managers. And they are doing reports for
their customers, because they. And if they doing a report,
they they just maybe use one week for report or a month,
and you cannot cash it, or you don't don't have to cash it,
because you never use it again.
So, a cash concept means,
you have to look at the data,
you do do have to look at where you are reading the data,
when you reading to data and if you need to
data again
And if you need to data again,
you can do cash it, or then you can cash it.
And this whole thing is in my pinion,
if you have at all the whole system
or over the whole system have a dataflow concept,
then it's, ja, the architecture or a good architecture contains,
a good content and the clean implementation.
So, in the end optimization in my pinion is easier with a good architecture.
Storage and IO is again one oftimization or one part of the system.
And most applications are using or yeah, are using storage layers.
And this can be data basis, relational data basis,
non relation and data basis, files and sometimes, even cashes.
And skelling data basis expensive in the end. So if you have an application,
which is crowing,
and the worst thing you can do is to just use and bigger Machine and a bigger Machine and a bigger Machine,
and put in more assists and faster systems,
so it's better to to make your software actecture right that you cancious use another machine and not a better machine to improve your performance in the end.
So what you can do for example is you can move your aggregation to the application layer,
not to the data base song,
if you have a relational data base and you think of choins than you can do the choin in the data base,
or you can query each each each table by itself and just aggregated data in the application layer, which in the end
maybe slower, but it's easier for the data base to
handle and it's and it's easy it's a scale,
because you can partition the data easier. And you tend up in the end with a scale able system. And again,
cash when it make sense to cash,
and what's in my pinion one big thing is,
no the insights of your data base, so for example,
if you, if you know, how you data base rights,
stuff to the disc, for example, mongotty be,
which is seeking 10 times a space,
where it can fits in your wait can fits and your data said you want to save and then right said in the end if it doesn't find a space to put it in then if
you if you always use the same size of if
you's the same size of documents you want to store it will find always a space
because it's pre-allocating the space and so there are some good
books where which show how the insights of your data basis
work for example the mice quill book or there mongo and mongo tV books from or righly
so this is always big thing to just no the insights
of a data base, if you data base, is the bottle like.
And the last part, third party APIs,
have to be handled as black boxes. So if you using,
if you're business case, is based on and API,
you cannot, you cannot have,
or you cannot say that availability will always big good and the speed will always big good.
They're maybe outted or them outtage as maybe covered by service
level egreements, but this if you if the system of the API fails for if they that say if you have 1999 point in 1999,
eprecentage SLA and the system fails for whole day you maybe get money from the company because they cannot hold their service liberal queer mets,
but if you have sustainable last of customer of your customer trust,
then it cannot be paid with any money because you made lose your release your customers,
loose your trust and you maybe and that with closing your
company or lose revenue in the end
Sustainable Loss of Revenue. So what you can maybe do depends on your business case.
You could, you can put fails us and place.
So in the end, optimization is about knowing your users,
optimization is about knowing your business and optimization is about knowing your stack.
So hardware stack, implementation and you complete equo system,
you are your using. Yeah, weil,
the book why on Why I'm here,
so why a book about performance optimization,
when there are somebooks in for example,
the Steve Sounders books etc. The book should be an I opener for decision makers and for developers.
This is the main part. The book is not focus
just on the front and side.
It's not just focused on the back inside.
It's a complete walk through through the complete ecosystem.
You complete software stack and hardware stack. So and it's
so posed to stimulate your appetite for more
It shows how to measure the improvement and gibt's and it
gives you hints about optimization. And the book handles the full stack.
The book does not optimize your oblication, application of course,
but it maybe helve you to atchief your tasks in the end.
And there's a happy hand in the book.
So, sie kriegen sich am Ende.
So, just a spoil, a little bit.
So, thank you. And happy optimizing. If you
want to you can add me on Xing and may I
say LinkedIn hier in the room
So, ja, ein Twitter in Alien. Und sorry,
for my sorry, for beings on norbis, today.
Well, and if you have questions,
please go had.
Thank you
Oh ja, jetzt sind schon. Ich hüfte dann schon.
Ja, we are we are many books in English.
So and there was hope of a German.
So we discided to do it to right up and join.
What do you think about asynchronous processing of to things where
possible? I like it. Okay. Very,
I guess to different things of at our criminals processing.
One thing the back and you have wo uns der
AJX Fugress, ich weiß es, calling things.
So, the book has a part out curing systems.
So, in my coming you we are havely using,
a rebeling cube to sust deby the application layer from fater
based layer and haveling cashes at a friend place of form thats to between cam,
just update motions of our database, and it rebelances failing etc., because we
had gotten squeed our oldsis. So, we ended
up You sing eye. So now. It's always,
to consider it with you, if your business case, is,
if you can using your business taste, I you have block,
I did it's it's really hard views rabbit cure,
something and you cure this in your.
And as your cure thing is always, if you can use
it's always. Ja. Die Tochter war Shifting Bordernecks,
Ellen Quiet get your point.
But he's yeah
If you, if you have a system,
which has all where the bottomic is you see being.
And you look into you make a performance sense and looking to the code.
And you find the part where you maybe produce a better function,
which is not so security and so and you replace it.
And you make it go, as first has or load instance.
And you maybe ending up with the I obeing problem.
If it's your writing, so and state on,
which wasn't joining before, we can is just secure was in problem.
So if you know, fits the IO countdom,
we're again you,
just produce
Why you do you just to more hardware,
that say, if you just optimized that part.
CPU or and other part of the your oblication can be
the problem, this is meaning by shifting or components.
Oh, shifting gebrochen, experience. So. One compoint is
always supposite. I mean, the more bit
or this always one. No more questions. Okay,
dann thank you, I don't.
And sure