Showing posts from April, 2016

Fixing wrong extensions

Around Thursday, April 7, 2016 5PM UTC time, I was adding ICO support to backend and testing ICO uploads when I noticed that every url upload returns jpg as the image extension for every image. this is the minor issue for users since modern browsers doesn't care about the image extensions, but there was a little issue since the image delivery system gets the image content type by the image extension. A fix was quickly applied as I was familiar with the function that misbehaved. so the uploads after should be fine. But what about the images uploaded before the fix? It was already night here, so I deiced to add the fix for those images the next day. since I will be touching the main scripts and raw images that powers the site and I don't want mess any of that. Fast forward to today, I just shipped the extension correction to the system, but it will occur in batches. It there so that I can monitor if any thing goes wrong. The extension correction will update the database

Lowering the Server Load Part 2

Don't use PHP for real time events. That's what we learned, when we switched to real time image views. At the time memory load was high on the php script that added the views, but it didn't seemed to be a big issue, until there were tons of image views to sort through. So as a fix we switched to Nodejs to sort real time images. we are beginning to love the asynchronous events here at BeeIMG. The JS script was pretty easy to write and the memory load was lowered by more than 75% The next memory hog is the MySQL server and we are already using memory friendly redis-server for some parts of the site. We hope to move the whole image views part that gets updated frequently to redis by the end of the year. So we can server more images, fast. there are some more news to come, so stay tuned.