MinIO Room for Improvement
Improvement could be made in several areas. When implementing a distributed solution, there were no good white papers or tutorials on implementing clusters, so we had to kind a of wing it, and it took us a while to get the clustered implementation working. The clustering documentation is oriented towards containers and Kubernetes, and we're running Linux VMs instead of containers, partly because we run on top of VMware and it's a little easier to manage a VM than it is a container in VMware's platform. We're also using vMotion and we have a cluster of VMware hosts which approximates the functionality of containers without the complexity, plus we have SAN on the backend. Containers actually create a degree of complexity that's unnecessary for our application because we already have a great deal of hardware redundancy in our system.
There's very little documentation on performance tuning for MinIO and for running it on Linux, which has been problematic because as the object store has grown, we've run into various performance issues. We've done a lot of our own research and some of our own performance tuning on a trial and error basis. We've had intermittent latency on object retrieval on a sporadic basis, and no way to determine the underlying cause. There have also been some technical issues. When we added more than 100,000 objects into a single bucket, the web browser interface for viewing buckets became unusable, which means we have no graphical way to search or browse our buckets, and have to rely on programmatic means.
We were initially using Prometheus, which extracts performance and usage data into Grafana for monitoring. That was useful until we exceeded a million objects and then it stopped working correctly. We were unable to get accurate statistics out of the system, and had to come up with a workaround by creating bucket notifications, that can be forwarded to a database. We're using a MySQL cluster for that, aggregating bucket notifications into MySQL and then parsing the JSON data out of MySQL to do our own dashboarding to keep track of performance and utilization issues. It seems to be working, but none of the native interfaces for MinIO work when you exceed a certain bucket size.
We then had two other issues we ran into: There's a supposedly optional heal function, but in practice that's not exactly the case. It's extraordinarily slow. We started a heal run about two weeks ago, and it's only done about 7% of the documents in the last two weeks and it's still running. Secondly, the SSL implementation was a more complicated than it should be. We had wanted to secure the documents for access, because we use a suite of web services we developed ourselves with the Amazon SDK for providing CRUD operations on objects. We needed to secure it with SSL, but we ultimately found it was a lot simpler to front MinIO with NGINX as a proxy, and keepalived to provide automatic failover, than the solution they had suggested. We came up with our own SSL solution, but it was not easy.
It would be nice if there was a graphical tool for searching buckets that didn't attempt to display the bucket. We use a product called Couchbase, which is based on CouchDB as a key value pair database for one of our web applications. It has a very nice function for searching buckets by key - something comparable in MinIO would be great. I think also that improving the logging functionality to enable more selective statistics logging the way that bucket notifications work would be very valuable. One step further - outputting statistics data in other formats would also enable better monitoring. Fixing the heal function - or perhaps allowing it to run across the cluster in parallel instead of only on a single node - would be valuable.
Staff Engineer at a tech services company with 5,001-10,000 employees
The Distributed User Interface (DUI) needs some work. It's hard to view a large set of data on the DUI. It's an issue with the DUI's performance. One way to improve this would be to allow a large set of data to be directly viewed on the UI. Usually, business people do not access the data through the command-line interface. So the DUI tool could be helpful if MinIO improves its performance and ability to handle a larger sample of data. When you're working with a small set of data, the DUI can download that quite easily. But if the data set is vast, it takes time. It becomes quite challenging to view that or download that data. So maybe introducing a PLI command-line interface could improve the DUI function. That would be very useful for the end-user.View full review »
MinIO has behaved strangely in the past. For instance, the application dropped connection to MinIO. It's not too significant, but it loses connection. We're trying to understand exactly what is happening when this happens. Maybe the team at MinIO should work on this error because, at this time, it's unclear why this happens.
Solutions Architect at Signal Technology Group
The MinIO dashboard is minimal as there are only a couple of features inside the dashboard for a basic user. I would like this to be more robust with more click-around features.
It is important that MinIO continues to increase its performance. With the increased scaling of specific research coding and the specific throughput the features currently work well, however they need to continue to maintain that community.View full review »
Product Owner at a tech company with 1,001-5,000 employees
There is nothing major that needs to be improved.
While using some of the advance features of MinIO we encountered the minor bugs but they generally get fixed in version upgrades.
I would like to see some kind of graphical representation of underlined data on MinIO UI. Like size, document type etc.
At the time, they were rewriting their documentation and they had two versions of it: legacy. found at https://docs.min.io/, and the current, which has 3 versions at the time; one of them being: https://docs.min.io/minio/bare...
Some of the information was in one and some was in the other. There wasn't just one place to go and look for whatever you required. They still appear to have a warning on top of the "baremetal docs".View full review »
The monitoring capability is really bad and needs to be improved. There are no monitoring tools available and there are several metrics that I would like to keep track of. Without good usage monitoring, it will be very hard to use in production.
In my opinion, the monitoring feature should be added to minIO in order to give administrators efficient data including bucket information(size, load on it, requests …), the CPU usage, running/ stuck/blocked threads, queue of thread pools, free/max heap percent, request per object in buckets and ...
I think providing REST API for monitoring and configuration makes it easier to use.
If I can set up MinIO to run as a service then it will be more stable.
Enhancing the user interface with more options would be a nice improvement.View full review »
I feel there is a lack of good addons to integrate without having to use third-party applications. It makes the process time-consuming. It would be helpful if MinIO built artifacts or anything that could be used to stream data into it. That said, I'm not sure MinIO is different from other solutions. Hopefully, data governance will improve in the future. I'd also like to see more support for AI.
We had some issues with the initial configuration which I think could be improved by working on the documentation. I had to search different sources to get what I needed.
The MinIO client was hard to automatize, we had to include some scripting on startup of the client container so that the buckets were setup with the read/write permissions and to make it public and accessibleView full review »
I like the interface. It's beautifully designed and it's great. It's one of the best platforms I've seen and it is highly compatible. The only downside I see is that you do not have a complete picture of an object.
Additionally, a feature I would like to see in the next release would be if they can include an uneven disk structure. Then you can use an uneven number of disks and create a bunch of tickets by a factor of two. If I could use an odd number of disks, that would be better, it would give me more flexibility.View full review »
There should be the ability to expand the size after it has already been deployed. Currently, you cannot do that. It doesn't support an increase in size. Each time we spawn a new MinIO, we need to track the particular MinIO instance or tenant that has the file. Therefore, we had to create a multi-tenant solution that tracks the MinIO that has our artifacts. It isn't in one single instance. It should have better multi-tenancy support.View full review »
MinIO could use a time patch on it. It could also use better documentation for some languages like Python.View full review »
Chief Architect for NirvaShare at Nirvato
The product's security is open by default, without any SSL, which could be an area for improvement. I don't think I would request any new features in the next release, as the product currently meets all my needs.View full review »
IT Manager at a wholesaler/distributor with 51-200 employees
An area that could be improved is the limited storage provided in the free version of this tool. When handling a lot of documents, the interaction can take a lot of time.View full review »
DevOps Architect at a tech services company with 10,001+ employees
I think the product tends to be more oriented toward Kubernetes and lacks documentation for people who don't want to use it, so they could improve their documentation. They could also better highlight the recommended versions as there are a lot of new versions, and it's difficult to know which is the best to use.View full review »
The developer support could be better.View full review »