I have set up Graphite in our infrastructure and have it listening on 443. We are sending quite a big amount of data into it, we're talking 3MB/s are written to the hard drive. The set up is pretty basic one - frontend Apache + WSGI. I noticed something REALLY strange though. When I add KeyChain certificate to apache configuration like this, then front end requests (ie when I'm trying to access Graphite via its web interface) are timing out all the time around:
SSLCertificateFile /etc/apache2/ssl/apache.crt SSLCertificateKeyFile /etc/apache2/ssl/apache.key SSLCertificateChainFile /etc/apache2/ssl/ca.crt
Basically with this in place, I'm not even able to compose any graph, as I'm getting these timeouts. However when I remove KeyChain directive from the above, all works blazing fast. Initially I thought that this was related to heavy IO but by looking at iostat and other stats I ruled that out straight away as the disk is nowhere near to be fully utilized.
Anyone could give me any explanation why would keychain certificate had such a massive impact on user experience ? As for the sending of stats to graphite, this has absolutely no impact whatsoever as they are sent directly to carbon cache (actually carbon is picking them up from Rabbit via amqp) and not via Apache.
Any explanation would be very appreciated. thanks!