is Redis stable on Windows? - redis

This afternoon, I used python script to test the performance of Redis on Windows.
It worked normally when the number of threads was only 10, but some exceptions occured when the number of threads reached 100.
Exception message:
3 [main] redis-server 1448
_cygtls::handle_exceptions: Exception: STATUS_A CCESS_VIOLATION 1394 [main]
redis-server 1448 open_stackdumpfile:
Dumping stack trace to redi
s-server.exe.stackdump
Is Redis stable on Windows?

Redis is not officially supported on Windows. Some unofficial ports exist (such as the one you're using), but I believe stability is not guaranteed for these ports.

Redis prime dev Salvatore Sanfilippo ('antirez'), December 2011:
I don't think Redis running under win32 is a very important feature. It is cool to have a win32 port that can be used for testing, as we had before, and as we have in a different implementation thanks to the Microsoft patch, so developers using Windows can easily test Redis and develop their projects. But what is the point in providing a production quality win32 port?
Regardless, parties within Microsoft are still improving the Windows build
Here’s to the first release from MS Open Tech: Redis on Windows
Claudio Caldato 26 Apr 2012 12:01 PM 8
We consider this not to be production ready code, but a solid code base to be shared with the community to solicit feedback: as such, while we pursue stabilization, we are keeping the older version as default/stable on the GitHub repository. To try out the new code, please go to the bksavecow branch.

The Redis download page now says "The Redis project does not directly support win32/win64, however we look at interest to projects trying to make a win32/win64 port that is separated from the main project...Currently both ports are not production quality but can be used for development purposes..."

We maintain a stable and production ready Windows port (native!) of Redis.
The Developer Edition is free.
Check out Memurai.

see:
Redis on Windows stable and reliable
I use it in my projects till last month and didn't experience any problems yet.

Related

Any risks in creating HGS Guardian?

I have a Windows Server 2019 with no physical TPM chip. I want to add a new Windows 11 VM to the several older VMs in Hyper-V on the box. If I run the Powershell scripts such as:
New-HgsGuardian -Name "Guardian11" -GenerateCertificates
and ending with:
Enable-VMTPM -VMNAME "TPM"
from a Microsoft article, is there any danger of the existing VMs or the host getting messed up, or does the HGS only affect any VMs that I explicitly reference?
On further investigation, this is a very complex feature to install and get right. Microsoft strongly recommend that it is installed in a cluster in case a node is lost. Otherwise, recovery is very difficult, if not impossible.
While it isn't the answer I wanted, I have since found that you can interrupt the Windows 11 installation process and insert some registy keys that will allow you to install it without TPM. Search for 'Windows 11 LabConfig'.
Not recommended for production or critical usage, but allows you to run Windows 11 for testing purposes at least.

What is the most robust way to install and run Redis on Windows Server 2012? (Updated for 2018)

I know this question has been asked before, but it was asked back in 2014. The proposed solution was running Microsoft's port of Redis. However, that port hasn't been touched since 2016.
OK... that answer is Good and Official but this one is the future.
Windows Linux Subsystem supports fork (the reason they say it is not recommended) and I was able to run the RQ tutorial on my Windows 10 laptop.
https://learn.microsoft.com/en-us/windows/wsl/install-win10
As far as I can tell, "Not Recommended" is the official answer:
https://redislabs.com/ebook/appendix-a/a-3-installing-on-windows/
Before we get into how to install Redis on Windows, I’d like to point
out that running Redis on Windows isn’t recommended, for a variety of
reasons. In this section we’ll cover these points:
Reasons why you shouldn’t be running Redis on Windows. How to
download, install, and run a precompiled Windows binary. How to
download and install Python for Windows. How to install the Redis
client library.
But even that ebook page (next page) points to the now archived MSFT Redis project.
I would go with running Redis in Docker
https://hub.docker.com/r/_/redis/

High Memory usage by Java (TM) Platform SE binary

We are noticing that IBM MobileFirst Server is using High Memory by Java TM Platform SE binary process, after 2 3 days of server start it reach up to 6 GB which cause the server in hang status, then only restart is the solution.
in logs we found below message:
"No buffer space available (maximum connections reached?): connect"
Enviornment: IBm Worklight Server 7.1 and java version is 1.7 64 bit on windows server 2012. hybrid Mobile application running on this server.
It seems that there might be some configuration required can any one advice ?
Lots of information missing... this can be caused by any number of reasons.
Are you in a cluster? if yes, how many servers? how much memory is available to each machine?
How many adapters do you have deployed? What is the value you gave to the serverSessionTimeout property? This for example can cause connections to stay open for a longer time, meaning the server will not "clean/remove" connections... and the more you have open, the more memory you will require.
all of these and more can contribute to how much memory you may need.
See also: http://www-01.ibm.com/support/docview.wss?uid=swg21690707
It mentions DB2, but the idea is - the more connections, the more memory you will need.

REDIS server requirements for BlueDomino hosting

I have a Python / REDIS service running on my desk that I want to move to my Blue-Domino-hosted site. I've got Python available on the server, but not REDIS. They don't give me root access to my Debian VM so I can't git, extract, and install myself from a Unix prompt.
Their tech support might do the install for me, but they need me to point them to server requirements, which I don't see on the REDIS download page.
I could probably FTP binaries to the site if they were available, but that's dicey.
Has anyone dealt with this?
Installing Redis is actually quite easy, from source. It doesn't have any dependencies, so just download the tarball, unzip it, and follow the install instructions. I'm always afraid of doing that sort of stuff, but with Redis it really was a breeze. If you don't dare to do it their tech support should be able to do it.
If it is Intel/AMD server, you can compile the Redis somewhere (32 bit version for example), and upload it as binary. Then start it with Python. I did this myself couples weeks ago.
For port you will need to use something over 1000. I don't recommend to use default port. Remember to change LogLevel too. Daemonize works well as non-root too.
Some servers blocks all external ports, so you will not be able to connect to Redis from outside, but this will be a problem only if you connect from different machine. For same machine should be OK, since is "internal".
However, I am unsure how hosting administrator will react when he sees the process running :) I personally will kill it immediately.
There is other option as well - check service like Redis4you.com . But their free account is small, you probably will need to spend some money for more RAM.
Is your hosting provider looking for a minimum set of system requirements for running Redis? This is indeed not listed on the Redis website. Probably because there aren't many exotic requirements. Also it depends a lot on your use case. Basically what you need to run Redis is:
Operating system: Unix like, Linux is recommended (one reason to favor Linux I've heard of is the performance of its TCP/IP stack)
Tools: GCC, make, (git).
Memory: lots (no seriously this depends on your use case, but because Redis keeps everything in-memory you need a least more RAM than the size of your dataset).
Disk: disk access for making snapshots.
The problem seems to be dealing with something non-traditional with my BlueDomino hosting. Since this project is a new venture, I think the best course for me is to rent a small Linux VM from rackspace and forget about the BD hosting.

Does a cloud service like Azure or EC2 exist which can run arbitrary workloads? (e.g. Client SKUs of Windows)

Azure and EC2 are optimized for running servers. Lots and lots of servers. Both platforms attempt to manage tons of things for you -- in Azure's case, it wants to manage even the target operating system.
However, I'd like to use such a service for a different reason: Testing.
I've got a ton of operating systems I need to support. My tests don't actually take that long, but running them on every platform is time consuming. I was going to just use a cloud service for this, thinking that these machines would be running for much less than an hour, and it wouldn't cost all that much.
The problem is that the major cloud services won't run client versions of Windows -- Windows Server only.
Is there a cloud service which would let me run every client and server version, and every service pack level, of Windows released starting with Windows 2000 SP4 to the present day?
Try CloudSigma, Defiantly can upload your own ISO's and run any x86 and 64bit OS you like on it. They have their in-house versions to get started but you can bring your own OS versions.
Based in Switzerland but they would have also the servers in the US, performance i've expected to quite good.
https://www.cloudsigma.com/
There is also a free trail on at the moment
https://cs.cloudsigma.com/accounts/signup/
The list of Open Virtualization Alliance members may have some candidates for you.
A search on the page for "operating system" suggests the following possibilities (in addition to the already-mentioned CloudSigma):
ElasticHosts
stepping stone GmbH (I'm less sure about this one)
Sublime IP
No, commercial cloud services like Azure and Amazon EC2 are themselves virtual, so you don't get a great deal of control over the operating system.
An option may be to consider renting a full physical server (colocated, or managed) and then use a battery of virtual machines to run the tests. Something like VMWare's snapshot feature sounds perfect: spin up a clean virtual machine, deploy the test code, then throw away changes to the disk once the tests have been completed.
Or, indeed, as #Stuart suggests - run the tests locally.
This definitely isn't something Azure offers - I think all of Azure's images are based near to Windows Server 2008 R2.
For EC2 you could set up images for Server 2003 through to 2008R2 - but nothing else. There are also some services out there to assist with this - e.g. VaasNet http://www.vaasnet.com/catalog
For testing the other Windows operating systems, I simply don't think there's a cloud service available to let you do this. I don't even think there are any cloud services where you can run "Virtual PC" type applications on top of the hosted operating system - as I think most of the virtualization APIs are disabled in the cloud environments (virtualization within virtualization not supported!)
Sorry to say this, but your best bet may be local test hardware running VirtualPC images.
It appears that the Xen Cloud Platform might do what you're after. This page ends with:
Guest Operating Systems: the XCP binary distribution is delivered with a wide range of Linux and Widnows guests. Check out the release notes for a complete list.
And their PDF document Xen Cloud Platform Virtual Machine Installation Guide (Release 0.1, Published October 2009) says that Windows 2000 Server has "No known issues."
(I don't have any affiliation with Xen)
In conjunction with the above, there is also a list of Xen VirtualPrivateServerProviders, several of which say they include Windows.
Buy time on an EC2 instance and use it to host VirtualBox VMs with VMs set up for each operating system you want to test for. Use a RDP client or VNC or some other means to control the guest OS. This forum post seems to point to that being possible. But yes it is not a cloud service itself and you would have todo some initial setup and configuration work yourself.