Skip to main content

Yet another Nginx story

Last night one of my friend gtalk me and complaining about his vps is slow and lagging. Further checking the process is highly spike where load average: 173.68, 165.51, 146.09 which is abnormal.

I'm thinking the MySQL is consuming all the resources and when I try to restart the process it's come to timeout. No chance at all.. I tried to stop httpd, also timeout and kill come to my hand :)

kill -9 [processid]

After restart httpd, the load is still high around 4 to 6. I plan to replace Apache with latest Nginx and using php-cgi for communicate with PHP. Surprisingly after I start Nginx the process come to 0.35 not even close to 1..

And that how Nginx act as a hero..

yatta~

Comments

Popular posts from this blog

FreeBSD :- Nginx , PHP-FPM

One of my forum that I managed previously used Apache as a web server. From my observation Apache with PHP suck a lot of memory resources but that doesn't hang up the server. So google around and I found others using Apache as a proxy using reverse proxy. While Nginx serve as front end web server. The result is good! Nginx still using minimum memory usage! impressive :) But that's does not stop me from searching other solution that best for the forum, and I found solution for Nginx with PHP-FPM (FastCGI Process Manager). Before that I've tried with spawn-fcgi but the process had died repeatedly. Not satisfied with that I've tried PHP-FPM ! Now stick with Nginx + PHP-FPM very satisfied! :)

Python - How to check active domain

This is python and libvirt related post, beware!! Ok now I want to check from my script, let's say : bash> xencheck.py nameofvps So I want the script to check if the vps name is available and active. This is what I done : #!/usr/bin/python -u import libvirt import sys import os def Startup():  if not os.access("/proc/xen", os.R_OK):     print "System is not running Xen kernel!"     sys.exit(1) #connect to hypervisor conn = libvirt.open("xen:///default") if conn == None:     print 'Failed to connect to hypervisor'     sys.exit(1) dom0 = conn.listDomainsID() for id in dom0:  dom1 = conn.lookupByID(id)  if dom1.name() == sys.argv[1]:   print dom1.name() #main function to execute def main():  Startup() if __name__ == "__main__":  main()

MySQL Enterprise thingy

It's been a weird thing when you install MySQL server especially the one that is 'enterprise' version is not working with your PHP. That is the problem that my friend and I facing today. Since PHP require php-mysql extension to connect to MySQL server but php-mysql is only work with mysql-server from the Repos (Redhat/Centos). 1) Remove default mysql-server/php-mysql 2) Install MySQL Enterprise 3) Dependencies conflict occur + headache + install php-mysql shell> yum install php-mysql Loaded plugins: rhnplugin, security Setting up Install Process Resolving Dependencies --> Running transaction check ---> Package php-mysql.x86_64 0:5.1.6-27.el5 set to be updated --> Processing Dependency: libmysqlclient.so.15(libmysqlclient_15)(64bit) for package: php-mysql --> Processing Dependency: libmysqlclient.so.15()(64bit) for package: php-mysql --> Running transaction check ---> Package mysql.x86_64 0:5.0.77-4.el5_4.2 set to be updated --> Process...