4 ms·
Well said. I also like your assertion that performance optimization is believed to be a black art. As you say, it is not. In fact, there are much better tool
by dev_tty01 4y ago
Well said. I also like your assertion that performance optimization is believed to be a black art. As you say, it is not. In fact, there are much better tools available for performance monitoring today than there ever have been. How many programmers actually open those tools and look for performance bottlenecks? I would guess not too many, at least based on what we are seeing in shipping products.
- jiggawatts 4y agoStory time! When I was something like 23 years old, my boss told me to go help optimise IIS performance at a large dev shop. Think about how absurd it sounds: A junior tech with essentially no knowledge of IIS performance tuning doing consulting to an entire company of 30-40 year old experienced developers on the finer points of web serving. I turned up, and it turned out that these guys were writing what seemed like a trivial web app, but if two people submitted a form simultaneously then the page would take a minute to submit. A minute you ask? I timed it: 60 seconds exactly, plus or minus a few hundred milliseconds. That's a lock timeout. I asked to talk to the database team. They told me the scope of works was to look at IIS and "tune it". To put things in perspective, they were using the largest server I had ever seen (8 sockets!) and it couldn't handle two users. "Maybe we need a 16-socket server, what do you thinkg?" I told them... no-no-no-no, I need to talk to the DBA team, just trust me. After some negotiation, I finally sat down next to the "senior" DBA and asked him what database engine he was using. "Sybase." Shit. I had heard of Sybase, but had never used it. I had a smidge of experience with SQL Server, and I had heard that Microsoft based it off the Sybase code that they had licensed. In a mild panic I asked him if Sybase had any performance analyzer tool or somesuch? "No." Err... that's not good. Now in a cold sweat, I asked to borrow his mouse for a second so I could click through his Start menu, where I found the Sybase folder, with a "Profiler" tool that was a carbon copy of the "SQL Server Profiler", except for the icon and some color schemes. It took about 10 minutes to repro the scenario and demonstrate that as expected, the codebase was Deadlock City and the mysterious 1 minute "performance issues" were in fact caused by 60.0 second timeouts as I had guessed. When I walked away from that two storey building full of "professional" developers, I had a wide-eyed look on my face wondering why literally nobody in the entire database team was even aware of the existence of the database profiler tool... which was in their Start menu the whole time.