系统遗留问题

Tags: ,
1 系统级别的内存监控
现在的脚本只能实现定时memcached, lighttd 重起。
希望能够实现系统级别的内存监控然后预警重起服务。
 
2 进程级别的内存监控
目前的脚只能重起memcached, fastcgi, lighttpd
但是内存仍然会有莫名的增长,暂时定位是mysql的问题。
更加精确的监控需要软件或者脚本支持。
 
3fastcgi的堆积(已解决)
默认lighttpd stop的时候会关闭fastcgi.
可是如果当前存在请求的话就不会自动关闭。
所以多次以后会产生fastcgi累积。
解决方案是直接kill
 
4mysql产生若干进程
原因是编译时加入了–with-all-static的选项导致了。
其实MySQL一直都是单进程、多线程的工作模式。只是,LinuxThreads并不是真正的线程,因此,这些进程其实还是采用系统调用 clone() 来共享同样的地址空间的。尽管采用 ps 查看的结果看起来是多进程,其实mysqld真正的工作方式还是多线程。
 
5fastcgi启动数目过多
尚无头绪
 
6ruby enterprise
稳定性
对内存泄漏问题的补丁效果
性能
 
7rails框架选择
1webrick
2mongrel
3apache + mongrel
4apache + mongrel_cluster
5lighttpd + fastcgi
6nignix + mongrel…
有待考察。。。
 
8rails的内存泄漏诊断方法
 
9系统监控软件安装
 
 
当前脚本
/etc/init.d/lighttpd stop
/etc/init.d/memcached stop
ps -ef | grep fcgi | awk ‘{kill -9 $2}’
/etc/init.d/memcached start
/etc/init.d/lighttpd start

 

VPS攒机经历(4)

7×24上的vps不知道为什么有了内存溢出的问题
顶着压力安装了lighttpd + fcgi还是不行
 
1安装lighttpd , fcgi
 
自己make果然问题少少,
不过还是有内存溢出的问题
只好写了一个cron job 每15分钟重启memcached, lighttpd,
留下的问题是fastcgi进程会不断累积,导致系统崩溃
另外bleak_house也没有安装成功,残念。。。
想不通Joyent为啥是好的
 
Profiling:
 

 

VPS攒机经历(4)

1添加ucenter
2添加uchome
3添加discuz
4添加ecshop
5添加wordpress
 
6添加ruby openssl支持
yum install openssl-devel
cd ruby/ext/
ruby ./extconf.rb
make && make install
 
7添加应用
heroku clone comparefriends
问题
7.1
No ssh public key found in /root/.ssh/id_[rd]sa.pub.  You may want to specify the full path to the keyfile.
解决
ssh-keygen -t rsa
 
8gem install rmagick
9安装应用
问题
9.1
/usr/local/ruby/lib/ruby/1.8/irb/completion.rb:10:in `require’: no such file to load — readline (LoadError)
解决
yum install readline-devel
cd ruby/ext/readline
ruby ./extconf.rb
make && make install
9.2
中文乱码
解决
mysql设置默认字符集
修改/etc/my.cnf
在[client]和[mysqld]中添加
default-character-set=utf8
 
 

 

VPS攒机经历(3)

1安装Mysql,php5
 问题:
1.1 –with-gd-dir=/….没有
./configure –help | grep gd
–with-gd
1.2 –with-libxml-dir=/…没有
./configure –help | grep libxml
–with-libxml-dir

 

VPS攒机经历(2)

1安装memcached, libevent
yum install memcached
 
2安装git
 
问题
2.1
Error: Missing Dependency: libapr-0.so.0 is needed by package subver
解决:
 and so on….(I hate rpm )
 
3安装ruby,rubygems,rails,mongrel,mongrel_cluster
问题
3.1
checking build system type… i686-pc-linux-gnu
checking host system type… i686-pc-linux-gnu
checking target system type… i686-pc-linux-gnu
checking for gcc… no
checking for cc… no
checking for cl.exe… no
configure: error: no acceptable C compiler found in $PATH
See `config.log’ for more details.
解决:
安装gcc
 
3.2
Error: Missing Dependency: glibc-common = 2.3.4-2.13 is needed by package glibc-dummy-centos-4
解决
yum erase glibc-dummy-centos-4
 
3.3
vim /etc/profile
添加ruby 路径
 
3.4
gem list

*** LOCAL GEMS ***

actionmailer (2.1.0)
actionpack (2.1.0)
activerecord (2.1.0)
activeresource (2.1.0)
activesupport (2.1.0)
cgi_multipart_eof_fix (2.5.0)
daemons (1.0.10)
fastthread (1.0.1)
gem_plugin (0.2.3)
heroku (0.4.1)
hoe (1.7.0)
memcache-client (1.5.0)
mongrel (1.1.5)
mongrel_cluster (1.0.5)
rails (2.1.0)
rake (0.8.3)
rest-client (0.7)
rspec (1.1.8)
rubyforge (1.0.0)
ZenTest (3.10.0)

 

 

VPS攒机经历(1)

1添加用户xiuxiu
 
2添加nameserver
/etc/resolv.cnf
 
3安装yum
遇到问题
3.1
Failed dependencies:
        libxml2-python is needed by yum-2.4.0-1.centos4.noarch
        rpm-python is needed by yum-2.4.0-1.centos4.noarch
error: Failed dependencies:
        rpm = 4.3.3-26_nonptl is needed by rpm-python-4.3.3-26_nonptl.i386
解决:下载对应rpm
 
3.2
error: can’t create transaction lock
解决:切换到root

 

早上的一身冷汗–第一次运维经历

早上5:30就爬了起来,想要抓紧时间修改一下"外号总动员"的功能,抓去更多用户的信息.
一如往常,ubuntu + netbeans + ruby on rails + git, 流畅异常的开发环境. 测试,提交,程序员的生活也许本该如此写意….
也许,,,谈不上写意….
正在自我陶醉的时候突然发现rake的数据库脚本失败……
马上提交了一个逆操作的脚本,,,,
马上登陆heroku察看服务器版本,更新已经被删除,恢复了原样,呼~~~~~长舒一口气,随意的点击两个功能.
工作日志,无法显示
日志,无法更新
数据库,可以显示
数据库,无法导出,
网站,504,无法正常显示…
 
顿时懵了,早上6:30,已经陆续有用户开始添加应用了……,7:30就要出门乐…
怎么办,怎么办,无数个怎么办,
 
运行我电脑上的测试服务器,
切换应用地址
总算应用可以正常访问了…
 
没有数据?
数据库导出,无法执行,
单表导出,无法导入phpmyadmin,没有办法
 
绝望了…绝望了,,,刚刚有起色的应用,才到1200多个用户,
 
绝望的尝试了heroku,
好了?
好了!?
好了?!
好了!!!!
7:20分,一个多么关键的时间,系统竟然好了.ohyeah,好了
 
马上切换回heroku.
马上切换回production.
丝般流畅的运行速度.
 
小心翼翼的我测试服务器上三个用户的注册信息填写到heroku上,
关机,上班,脑中都是刚才的惊心动魄
 
总结:
1)mysql管理操作不熟悉
2)数据库没有备份管理
3)没有备份数据库切换
 
希望不要有下一次了
 
P.S.中午heroku又坏了一次,不过估计是整个网站升级重启,可惜了十几个登陆用户的友好度和注册信息
 
 
 

 

无觅相关文章插件,快速提升流量