Compare commits
2 commits
22c1cb29dd
...
b613b45394
Author | SHA1 | Date | |
---|---|---|---|
b613b45394 | |||
ab963af0cb |
7 changed files with 117 additions and 28 deletions
48
Gemfile.lock
48
Gemfile.lock
|
@ -83,58 +83,58 @@ GEM
|
||||||
rb-fsevent (0.11.2)
|
rb-fsevent (0.11.2)
|
||||||
rb-inotify (0.11.1)
|
rb-inotify (0.11.1)
|
||||||
ffi (~> 1.0)
|
ffi (~> 1.0)
|
||||||
rexml (3.3.7)
|
rexml (3.3.8)
|
||||||
rouge (4.4.0)
|
rouge (4.4.0)
|
||||||
safe_yaml (1.0.5)
|
safe_yaml (1.0.5)
|
||||||
sass-embedded (1.79.2)
|
sass-embedded (1.79.4)
|
||||||
google-protobuf (~> 4.27)
|
google-protobuf (~> 4.27)
|
||||||
rake (>= 13)
|
rake (>= 13)
|
||||||
sass-embedded (1.79.2-aarch64-linux-android)
|
sass-embedded (1.79.4-aarch64-linux-android)
|
||||||
google-protobuf (~> 4.27)
|
google-protobuf (~> 4.27)
|
||||||
sass-embedded (1.79.2-aarch64-linux-gnu)
|
sass-embedded (1.79.4-aarch64-linux-gnu)
|
||||||
google-protobuf (~> 4.27)
|
google-protobuf (~> 4.27)
|
||||||
sass-embedded (1.79.2-aarch64-linux-musl)
|
sass-embedded (1.79.4-aarch64-linux-musl)
|
||||||
google-protobuf (~> 4.27)
|
google-protobuf (~> 4.27)
|
||||||
sass-embedded (1.79.2-aarch64-mingw-ucrt)
|
sass-embedded (1.79.4-aarch64-mingw-ucrt)
|
||||||
google-protobuf (~> 4.27)
|
google-protobuf (~> 4.27)
|
||||||
sass-embedded (1.79.2-arm-linux-androideabi)
|
sass-embedded (1.79.4-arm-linux-androideabi)
|
||||||
google-protobuf (~> 4.27)
|
google-protobuf (~> 4.27)
|
||||||
sass-embedded (1.79.2-arm-linux-gnueabihf)
|
sass-embedded (1.79.4-arm-linux-gnueabihf)
|
||||||
google-protobuf (~> 4.27)
|
google-protobuf (~> 4.27)
|
||||||
sass-embedded (1.79.2-arm-linux-musleabihf)
|
sass-embedded (1.79.4-arm-linux-musleabihf)
|
||||||
google-protobuf (~> 4.27)
|
google-protobuf (~> 4.27)
|
||||||
sass-embedded (1.79.2-arm64-darwin)
|
sass-embedded (1.79.4-arm64-darwin)
|
||||||
google-protobuf (~> 4.27)
|
google-protobuf (~> 4.27)
|
||||||
sass-embedded (1.79.2-riscv64-linux-android)
|
sass-embedded (1.79.4-riscv64-linux-android)
|
||||||
google-protobuf (~> 4.27)
|
google-protobuf (~> 4.27)
|
||||||
sass-embedded (1.79.2-riscv64-linux-gnu)
|
sass-embedded (1.79.4-riscv64-linux-gnu)
|
||||||
google-protobuf (~> 4.27)
|
google-protobuf (~> 4.27)
|
||||||
sass-embedded (1.79.2-riscv64-linux-musl)
|
sass-embedded (1.79.4-riscv64-linux-musl)
|
||||||
google-protobuf (~> 4.27)
|
google-protobuf (~> 4.27)
|
||||||
sass-embedded (1.79.2-x86-cygwin)
|
sass-embedded (1.79.4-x86-cygwin)
|
||||||
google-protobuf (~> 4.27)
|
google-protobuf (~> 4.27)
|
||||||
sass-embedded (1.79.2-x86-linux-android)
|
sass-embedded (1.79.4-x86-linux-android)
|
||||||
google-protobuf (~> 4.27)
|
google-protobuf (~> 4.27)
|
||||||
sass-embedded (1.79.2-x86-linux-gnu)
|
sass-embedded (1.79.4-x86-linux-gnu)
|
||||||
google-protobuf (~> 4.27)
|
google-protobuf (~> 4.27)
|
||||||
sass-embedded (1.79.2-x86-linux-musl)
|
sass-embedded (1.79.4-x86-linux-musl)
|
||||||
google-protobuf (~> 4.27)
|
google-protobuf (~> 4.27)
|
||||||
sass-embedded (1.79.2-x86-mingw-ucrt)
|
sass-embedded (1.79.4-x86-mingw-ucrt)
|
||||||
google-protobuf (~> 4.27)
|
google-protobuf (~> 4.27)
|
||||||
sass-embedded (1.79.2-x86_64-cygwin)
|
sass-embedded (1.79.4-x86_64-cygwin)
|
||||||
google-protobuf (~> 4.27)
|
google-protobuf (~> 4.27)
|
||||||
sass-embedded (1.79.2-x86_64-darwin)
|
sass-embedded (1.79.4-x86_64-darwin)
|
||||||
google-protobuf (~> 4.27)
|
google-protobuf (~> 4.27)
|
||||||
sass-embedded (1.79.2-x86_64-linux-android)
|
sass-embedded (1.79.4-x86_64-linux-android)
|
||||||
google-protobuf (~> 4.27)
|
google-protobuf (~> 4.27)
|
||||||
sass-embedded (1.79.2-x86_64-linux-gnu)
|
sass-embedded (1.79.4-x86_64-linux-gnu)
|
||||||
google-protobuf (~> 4.27)
|
google-protobuf (~> 4.27)
|
||||||
sass-embedded (1.79.2-x86_64-linux-musl)
|
sass-embedded (1.79.4-x86_64-linux-musl)
|
||||||
google-protobuf (~> 4.27)
|
google-protobuf (~> 4.27)
|
||||||
terminal-table (3.0.2)
|
terminal-table (3.0.2)
|
||||||
unicode-display_width (>= 1.1.1, < 3)
|
unicode-display_width (>= 1.1.1, < 3)
|
||||||
unicode-display_width (2.6.0)
|
unicode-display_width (2.6.0)
|
||||||
webrick (1.8.1)
|
webrick (1.8.2)
|
||||||
|
|
||||||
PLATFORMS
|
PLATFORMS
|
||||||
aarch64-linux
|
aarch64-linux
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||||
<meta charset="utf-8" />
|
<meta charset="utf-8" />
|
||||||
<title>{{ page.title }} - {{ site.title }}</title>
|
<title>{{ page.title }} - {{ site.title }}</title>
|
||||||
<link rel="stylesheet" href="/assets/css/main.css" />
|
<link rel="stylesheet" href="/assets/css/main.css?v=2" />
|
||||||
<link
|
<link
|
||||||
rel="alternate"
|
rel="alternate"
|
||||||
type="application/rss+xml"
|
type="application/rss+xml"
|
||||||
|
|
|
@ -48,7 +48,7 @@ _I also want to call out and thank TNT in particular for their help with
|
||||||
sustainability!! The NeoPass partnership has been a genuine game changer—I'll
|
sustainability!! The NeoPass partnership has been a genuine game changer—I'll
|
||||||
talk about it more below!_
|
talk about it more below!_
|
||||||
|
|
||||||
### Stability: Changes to keep the site running
|
### Stability: Changes to keep the site running {#stability}
|
||||||
|
|
||||||
At the start of the year, DTI was… uhhh, often broken 😖 We'd have multiple days
|
At the start of the year, DTI was… uhhh, often broken 😖 We'd have multiple days
|
||||||
of downtime, and I'll be real with ya: it was _mostly_ an awareness and time
|
of downtime, and I'll be real with ya: it was _mostly_ an awareness and time
|
||||||
|
@ -74,7 +74,7 @@ smarter about it. So, hey—we're being smarter!
|
||||||
With these changes, it's been months since our last like, _major_ downtime
|
With these changes, it's been months since our last like, _major_ downtime
|
||||||
event. We're still not as consistent as I'd like to be, but hey—more to come!
|
event. We're still not as consistent as I'd like to be, but hey—more to come!
|
||||||
|
|
||||||
### Simplicity: Cleaning house, clearing hallways
|
### Simplicity: Cleaning house, clearing hallways {#simplicity}
|
||||||
|
|
||||||
The high-level goal here is: **I want to remove Impress 2020, but only once we
|
The high-level goal here is: **I want to remove Impress 2020, but only once we
|
||||||
no longer need it**.
|
no longer need it**.
|
||||||
|
@ -121,7 +121,7 @@ We'll check in with y'all before retiring Impress 2020 altogether, I think
|
||||||
there's still plenty of steps along the way! We're just doing our best, bit by
|
there's still plenty of steps along the way! We're just doing our best, bit by
|
||||||
bit.
|
bit.
|
||||||
|
|
||||||
### Sustainability: Finding more time, with TNT's help
|
### Sustainability: Finding more time, with TNT's help {#sustainability}
|
||||||
|
|
||||||
At the start of the year, the reality of the situation was just… I did not
|
At the start of the year, the reality of the situation was just… I did not
|
||||||
_have_ volunteer hours available to give to DTI. What time I _did_ have for
|
_have_ volunteer hours available to give to DTI. What time I _did_ have for
|
||||||
|
|
83
_posts/2024-10-03-perf-upgrades.md
Normal file
83
_posts/2024-10-03-perf-upgrades.md
Normal file
|
@ -0,0 +1,83 @@
|
||||||
|
---
|
||||||
|
layout: post
|
||||||
|
title: "This week in DTI: Performance upgrades!"
|
||||||
|
date: 2024-10-03 14:47:00 -0700
|
||||||
|
author: Matchu
|
||||||
|
excerpt: |
|
||||||
|
<p>Things got a bit slow this week—so we made three changes to improve pageload times across the site! <em>(Also, I'm job-hunting right now!)</em></p>
|
||||||
|
---
|
||||||
|
|
||||||
|
Hi, everyone! You might've noticed earlier this week that DTI had started to
|
||||||
|
stutter a bit. We experienced a bit of a traffic spike, and pageloads would
|
||||||
|
sometimes start taking a few seconds. (My phone was ringing off the hook to let
|
||||||
|
me know!)
|
||||||
|
|
||||||
|
![Screenshot of my email inbox: many emails on Sep 30, from health@openneo.net, saying "GlitchTip: Dress to Impress is down" or "is back up"](/assets/images/posts/2024-10-03-perf-upgrades/email.webp)
|
||||||
|
|
||||||
|
When we dug into it, there wasn't any _specific_ cause—just a bit more pressure
|
||||||
|
causing our database to max out our server's CPU a bit too often.
|
||||||
|
|
||||||
|
Rather than just throw more CPU at the problem (always an option, but never a
|
||||||
|
cheap one!), we popped open the slow query log. We found the worst offenders,
|
||||||
|
and started getting to work fixing database queries that have _always_ been a
|
||||||
|
bit slow—in some cases, for many years!
|
||||||
|
|
||||||
|
Here's the three big changes we made:
|
||||||
|
|
||||||
|
- **Item searches:** We
|
||||||
|
[sped](https://code.openneo.net/OpenNeo/impress/commit/efda6d74ab6b9405cd563ccc72bb45b4f10eabe3)
|
||||||
|
[up](https://code.openneo.net/OpenNeo/impress/commit/efda6d74ab6b9405cd563ccc72bb45b4f10eabe3)
|
||||||
|
some of our tougher filters (`occupies` and `fits`) from taking a couple
|
||||||
|
seconds at worst, to always nearly instant! _(We did this by "caching" more
|
||||||
|
data about the item's appearance onto the item record itself.)_
|
||||||
|
- **Trade listings:** Earlier this year, we added the Offering/Seeking pages to
|
||||||
|
Classic DTI, and built them faster than the Impress 2020 versions. Now, we've
|
||||||
|
[deleted](https://code.openneo.net/OpenNeo/impress-2020/commit/067da33025cbf5ed92707efa1558a658135e310e)
|
||||||
|
Impress 2020's slower version of the page, redirecting to Classic's faster one
|
||||||
|
instead. _(This brings us closer to [merging
|
||||||
|
the apps]({% post_url 2024-09-20-state-of-dti-2024 %}#simplicity), too!)_
|
||||||
|
- **Modeling progress:** When we're missing data for new items, we ask for help
|
||||||
|
at the bottom of the homepage—and we
|
||||||
|
[used the same upgrades](https://code.openneo.net/OpenNeo/impress/commit/03e4233f67935b6e8998904d41305fb41f7660af)
|
||||||
|
from item searches to make this faster, too. _(We also
|
||||||
|
[fixed](https://code.openneo.net/OpenNeo/impress/commit/fe4db1b60571cbc2b6d295cfc1230f2ebbc6f3bb)
|
||||||
|
the long-standing bug of Maraquan items asking for more help than we need!)_
|
||||||
|
|
||||||
|
And these changes don't just affect these features: when our CPU starts to peak,
|
||||||
|
_everything_ gets slower. And so when we make the site more efficient and stop
|
||||||
|
hitting those limits, _everything_ gets faster!
|
||||||
|
|
||||||
|
Since then, the site has been back to being steady, and I've been glad to see
|
||||||
|
item searches—one of the most common things that happens on the site—run much
|
||||||
|
faster for everyone!! And it's always a joy to clean up decade-old code and
|
||||||
|
bring it closer to what it always deserved to be 🥰
|
||||||
|
|
||||||
|
Hope everyone's doing well, and that you've got fun Halloween plans! I'm excited
|
||||||
|
to see your pets all dressed up again this year!!
|
||||||
|
|
||||||
|
## By the way, I'm job-hunting right now! {#job-hunting}
|
||||||
|
|
||||||
|
After a few years consulting part-time, I'm looking for a full-time role again!
|
||||||
|
(The tech layoffs came for me and my family, whuh oh—time to step it up!)
|
||||||
|
|
||||||
|
_\[Lore dump!\]_ In addition to running Dress to Impress for 15 years, I've also
|
||||||
|
been a senior engineer and tech lead at an edtech nonprofit (2015–2020), focused
|
||||||
|
in B2B partnerships, team mentorship, and building integrated platforms to
|
||||||
|
support multiple products across teams.
|
||||||
|
|
||||||
|
I'm primarily looking for remote roles hiring in the United States, leveled at
|
||||||
|
senior or staff—but some of that could be flexible for the right situation!
|
||||||
|
|
||||||
|
Right now, I'm especially interested in:
|
||||||
|
|
||||||
|
- Consulting firms, especially with a focus in nonprofit
|
||||||
|
- Stewarding critical integrations long-term, like identity or payments
|
||||||
|
- Shifting to information security, or technical writing
|
||||||
|
- Engineering management, for the right human-focused team
|
||||||
|
|
||||||
|
If you happen to have an opportunity, please
|
||||||
|
[reach out](mailto:dti-jobs-thank-youuu@matchu.dev) and let me know! It'd help
|
||||||
|
me out a lot.
|
||||||
|
|
||||||
|
Thanks for taking a look!
|
||||||
|
_—Matchu_
|
|
@ -123,6 +123,12 @@ article {
|
||||||
h3 {
|
h3 {
|
||||||
font-size: 1.5em;
|
font-size: 1.5em;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
p img {
|
||||||
|
display: block;
|
||||||
|
max-width: 50%;
|
||||||
|
margin-inline: auto;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.posts {
|
.posts {
|
||||||
|
|
BIN
assets/images/posts/2024-10-03-perf-upgrades/email.png
Normal file
BIN
assets/images/posts/2024-10-03-perf-upgrades/email.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 128 KiB |
BIN
assets/images/posts/2024-10-03-perf-upgrades/email.webp
Normal file
BIN
assets/images/posts/2024-10-03-perf-upgrades/email.webp
Normal file
Binary file not shown.
After Width: | Height: | Size: 61 KiB |
Loading…
Reference in a new issue