Posts

Stability Improvements 2020

Hi all, Since we detected that the site was operating in a degraded status causing increase rate of 500 server errors, we checked the servers and found the memory usage was high on all servers. To remedy that we upgraded the database server and rebooted all app servers clearing the memory on them and these steps reduced the error rate. Also we improved loading balancing and fail-over logic in the frontend servers. It is due to these improvements and improved thumb image caching, that we were able to release the search page to public. Earlier we constrained with less data and errors on creating thumbnail images on the results page. Please enjoy the improved service and please do reach us, if you find the service not fast enough. Thanks. Also read the stability improvements we did in 2019 in this post: https://blog.beeimg.com/2019/12/stability-improvements-2019.html

Stability Improvements 2019

Hello all, Over the past few weeks BeeIMG has been a little unstable and just wanted to clarify on what happened. In the first unstable issue which in November were caused by our server provider doing maintenance on our servers. Our AMS node got hanged up during the maintenance and had to be manually restarted. However the impact on the service was minimal and the maintenance on our CDG node affected our service as its where our databases is hosted. After the maintenance the db server had been moved to under performing hypervisor and started to slow down the site. We had to move the server again to a better server. Forward to December, one on of our free customers started hitting with lot of image view per second and this overloaded memory on AMS server and to redis node to fail. Making maters worse AMS server ran out of disk space. when a fail over to CDG happened the traffic overload that servers redis node and caused the service to fail. The site served 503 errors durin...

Amsterdam Server and Forum

Hello all, Some of you may know that we had a 2 hour of downtime at the end of the last month. It had caused us to rethink the single server situation. As you some of you are expecting reliable uptime from BeeIMG.

Issue Regarding Yahoo and Microsoft Mail Delivery

Last week we noticed that mailgun has lot of mail bounces from outlook mail address, because the mail delivery IP had been blocked. Usually mailgun fixes these issues automatically, but the issue was not solved after several days, so we asked them to change the IP. They refuced to do it because our bounce rate was high. This was a given as mailgun was mainly used to confirm valid mail address. To fix it one option is to deliver mail by ourself, but since our server is IPv6 only, this won't work. Second option is get our bounced rate back down by adding a notice in the registration page and making the backend validation more tougher. Which we took this option and while some users used a tempary email address(which is okay) some users were still adding non-existing email address. To combact it, now we will send confirmation email by checking out the email address manually. This will take upto 24 hours. Also the upload page has been enabled to all users, so they can upload imag...

BeeIMG App Lite Alpha

Image
We have taken our time to make a simple app to upload images. Currently this app is in alpha and We are first releasing the windows app first followed by the Linux app . If you like to try out the linux app please use the contact form First Download the Windows App from the below URL: https://github.com/BeeIMG/BeeIMG-Desktop/releases/download/0.1a/BeeIMG.zip  (9.13 MB) Open it and extract to anywhere you like, and run the exe file. Refresh the desktop and click on BeeIMG icon If there is a rundll error ignore it Use the contact form and select Request API key from the dropdown menu and ask for a API key Set the API key you have to set it everytime you open the app Use the button the select files to upload The image URL will be on the text form below Send bugs, new feature in the contact form Enjoy!

ICO images 0 view bug

Hello all, We just fixed a bug where images with ICO extension doesn't get recorded with our image view counters. This caused images with ICO images to have 0 images views and might have caused the system to mark the image as inactive. We are very sorry if this caused any image loss. There is nothing we can do to get deleted images back and we don't even have any stats on how many images got deleted as we delete inactive images with 0 views from our database as well. Our image view counter are real time and near real time on high views, so please contact us if your images doesn't get tracked. We have done a full check on ICO ext images so it works correctly now. Thanks for reading.

Recent Hiccups May 2016

We faced some blackouts recently, and it was because we got very popular in china. The images that was generating lot of traffic were violating our TOS, but as they were generating lot of traffic and I thought it was a good time to stress test our image delivery systems. At first we were handling the load fine. after some time our redis server start acting wired. the issue was with dumping the db to disk, but as the images were generating lot of data the redis server crashed. we started to migrate the all gif images to be served by our CDN while still collecting views data. but at some point our real time stats handling script started to fail due to redis connection issues. after that the data started to collect and the redis server crashed every time it was started. While all that was happening we noticed that our php front end started throwing errors. this was due the connectivity issues to our redis server. The image serving end do not use redis server and was not afflicted. its usi...

Fixing wrong extensions

Image
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.

Codes: Time Elpased

As promised here are some codes powering BeeIMG. this php function is very useful to the users, we use it almost everywhere. It converts time to easy human readable format. when the second string is set to false, it will return the first 10 seconds of the time as 'Just now'. this was later added to calculate time of the real time image views. to use it time elapsed($time) or time elapsed($time,true)

Updates: Imgur Oauth

As we said in the twitter oauth post, twitter was the last addition to the ouath system for a while, to keep the system simple. Now you can login and register using your imgur account. In the future we hope to add reddit, but it will take some time to implement. The current ouath login system is a complete mess and some times you will be thrown to a error here and there. As the twitter email limitation was recently removed, now you can register using your twittter account. for the registered members we added an ouath account settings page, which you can find in the dashboard. We also fixed the albums system completely. also if you are BeeIMG Firefox addon user, make sure to update to the newest version. For more updates at real time time follow our twitter feed at https://twitter.com/BeeIMG Thank you for reading.

Updated Image View Page

Well, I thought of revealing another new thing before this, but it's not ready yet. this is one of the many new improvements done under the hood this year. so lets get to it. The last time we redid the image view was 2 years(forever) ago. that page is so old, it doesn't work now. this new page has more improvements on the way. The image is now held in a back background and its big now. the image title has moved to below the image. also the image descriptions are back. we are hoping to add tags too. beside the title is the edit button. if the image is captured using a camera, a small camera button will appear beside the edit button and when clicked, it will show you things like the model of the camera, ISO, aperture shutter speed, etc. there are 2 full screen buttons on the page and first one is on the image, to view image in full screen and the other is on the new stats bar. (checkout the stats bar in full screen because its so cool) and now the stats bar features a real time t...

Why use BeeIMG? & How it Works (2016)

This post is now outdated. an updated post is available at https://blog.beeimg.com/2019/04/why-use-beeimg-how-it-works-2019.html Nowadays there are tons and tons of image hosting sites to choose from. Most of them are powered with chevereto (A Premium script), scripts available at codecanyon (Premium scripts) and using scripts that are available for free. Newbies/Webmasters who want to earn money buys and put these scripts in a server and offer the service for free. Only a handful of sites are coded from scratch and we are proud to say that we are one of them. As the bandwidth usage is very high for image hosting site, most of the sites uses cloudflare to cache the images and save their own bandwidth. but we use cloudflare to only serve the site content, not the images. How are we different form others? we can start with the image serving process. It uses PHP & nginx to serve you the image other than linking to it directly. It's like a virtual image and the best thing i...

BeeIMG in 2015

Happy New Year All! Hope you earned the new year badge. (time zones doesn't matter) Go back to how we looked at the feb 9 2015. Nothing much changed right? In this year we have hosted more than 18,000 images, have served close to 71 million image views, using 16 TB of bandwidth. According to Google analytics we had 36,979 page views in 2014 and most users are from USA followed by Russia. 2014 Dec 2015 Dec Increase Images 11,000 18,000 +7,000 Image views 65 million 71 million +6 million Bandwidth 12 TB 16 TB +4 TB Looking back at 2015, the growth was decreased. but we added IPv6 and HTTP2 support and upgraded our upload page. In the backend we moved from apache to lighttpd and nginx in order lower the server load. When switching to nginx we added support for real time image views too. also we upgraded to the very new &...

PHP 7 Upgrade

Time for Christmas decorations,I thought. A few days ago PHP7(.0) was released and hearing about it's performance improvements. I was so eager to add PHP7 support to BeeIMG. After upgrading to PHP7 the nginx front end started serving server errors. The image serving was down too, due to php socket change in lighttpd. But since I was prepared for it images were back in a few minutes. during that time nginx served the cached images and only the non cached images were affected. The site was down due to missing its php memcache module. I quickly put the site in maintenance mode and removed the memcache caching, most parts of the the site was back up. The image views was collected in the redis server and were not lost. After building the redid php module manually, real time views were back online. Next day I spent time fixing the other parts of the site, which occurred mostly due to memcache module. memcache caching was replaced with redis and I added a contingency along, so even if the...

HTTP2 support and Real-time image views

first of all these features have been implemented for some time but I haven't had time to write a blog post. First http2 is the newest version of http and it bring some new features to the table. Since the http2 is currently in ALPHA stage not all the features have been implemented. Also http2 currently works over ssl connections only. It is not(yet!) stable on http connections. Speaking of ssl we just renewed our ssl cert. Kudos to startssl for the free cert. Secondly real-time images view was a feature that was on the old image serving system. Since we moved to the new system to serve images faster and to improve performance, we had to collect the image stats with a delay some time as 1 hour. Later we reduced it to half hour. Since then we have experimenting to bring it back to real-time and here it is. Also the image views page has been updated to view the image views in realtime. The rest of the site will catch up soon. Since there was lack of users, we removed the forum to gi...

The new upload page is now live

After a long month of testing the new upload page is live. it's our birthday today, so we decided to add a little something extra and change the header layout. so what's new in the upload page? well the new upload page is the same to every user. and it's optimized to be fast. first we removed the 6 tabs(6 methods of uploading :D) and reduced it to 2. the new file upload is based on the resumable file upload that was previously available only to registered members. its fast and you can pause or resume uploads. on mobile we decided to change the chunk size so the upload is faster and uninterpreted even for users who use 2G. the new url upload is completely rewritten and those who are wondering if you can paste multiple URLs like in the old upload page, well you can with the new upload page too. just add an space between the URLs and you are good to go. also now you can drag and drop files and use CRT-V to paste images from the clipboard. how cool is that. All the new features...

BeeIMG's New Uploader BETA

Image
For those who haven't followed our Twitter feed or visit our site for a while, BeeIMG's New Uploader page is live . Well, sort of. For a while we tested the page in Alpha but the page is in Beta stage now. As for new features the front end is completely rewritten and unified. The current (old after a while) page was coded when the site was started, it haven't seen a major rewrite till now. that page was simple as it started, but when users requested new features they were added on the go, without a rewrite so the page was heavy, complex and slow for many users. The current page will be kept in a separate URL as new page is backward compatible. The new page only uses only a few new back-end functions, which won't interfere with the old page. As of the writing this article a new version(BETA1) of the page is currently in testing. It has a feedback form which anyone can use to submit your impressions, bugs, improvements about new the page easily. Also, it wi...

Lowering the Server Load

Image
Updated to #Bootstrap 3.3.5, moved the backend to lighttpd and fixed some bugs. Blog post coming soon. — BeeIMG (@beeimg) July 2, 2015 As you all may know we had a lot of downtime's last month , that was because of Apache. Overtime I fine tuned the Apache server, but the server kept crashing. Few days ago we installed nodebb on our server and moved the blog to the same server. node uses a lot of ram so the server crashing increased. So the alternative was to use nginx to server the php back-end or to use another server to serve the php back-end. As nginx rewrites are very different than Apaches and it made the converting rules more difficult. So we decided to use lighttpd (the light Apache) Now the site runs faster and specially it has no downtime. The server load is very low, and can handle a big load if needed. We also updated the bootstrap to 3.3.5 and I am currently working on a new simplified upload page and setting up the forum. We also updated the ab...

BeeIMG now supports IPV6!

Image
After a bit break, yesterday we updated our software and causing a bit downtime we added support for IPV6! Now if your ISP supports IPV6, BeeIMG will automatically serve you through our IPV6 network. Additionally we give our thanks to Digitalocean for enabling IPV6 in our region. Also, if our site blacks out be sure to check https://status.beeimg.com/ or our Twitter feed https://twitter.com/beeimg Thanks for reading.