2014年2月 ’ 的文章存档

关于 Apache 的 25 个初中级面试题

111

 

Apache 求职面试提问

在这一节涵盖了25个有趣的Apache工作面试中会提出的问题,并附带有它们的答案,因此你可以方便的理解也许你之前从来没有见到过的一些有关于Apache的新事物.

在你开始阅读这篇文章之前,我们强烈建议你不要去死记硬背,万事首先都要尝试去放在实际场景中理解.

1. 什么是Apache web服务器?

答案 : Apache web 服务器 HTTP 是一个非常流行、功能强大并且开源,用于管理web站点并向网络提供web文件服务. 它基于 HTTP 超文本传输协议运行, 这一协议提供了服务器和客户端web浏览器通信的标准. 它支持 SSL, CGI 文件, 虚拟主机还有许多其它的功能特性.
阅读全文

如何分析python程序的性能

目录:

获取程序运行的大概时间
获取更精确的程序运行时间
计算每一行代码的运行时间和运行频率
找到程序运行时占用多少内存
line_profiler 和memory_profiler在IPython中的简便实用方法
找到内存泄露的地方
获取使用最多的前20个对象
获取增加和删除的对象
那些对象被引用

—————————————————————————————————-
阅读全文

用salt管理一到上万台服务器

本文是使用salt管理一台虚拟机,从而引出管理一万台服务器的思路.^_^

1.      安装salt服务端

2.      安装salt 客户端

3.      配置salt 服务端

4.      配置salt客户端

5.      Salt-key确认

6.      执行测试在线命令

7.      执行远程命令

8.      查看帮助

9.      执行远程脚本

10.   扩展

11.  管理更多服务器

本文从这个网址得到启发http://wiki.saltstack.cn/docs

测试环境,salt服务端IP:192.168.1.1   salt客户端IP:192.168.1.2

1. 安装salt服务端

curl -L http://bootstrap.saltstack.org | sudo sh -s -- -M-N

 2. 安装salt 客户端

wget -O - http://bootstrap.saltstack.org | sudo sh

3. 配置salt 服务端

Salt服务端一般不需要配置,直接启动即可

/etc/init.d/salt-master  start

4. 配置salt客户端

编辑 /etc/salt/minion文件

a.修改masterIP为服务端IP: 192.168.1.1

Master:192.168.1.1

b.修改客户端标识id 这个是验证和管理时使用的名称

id:cn-gd-gz-0001

c.启动客户端

/etc/init.d/salt-minion  start

 5. Salt-key确认

这时候服务端已经接受到客户端的验证请求

使用命令salt-key查看

AcceptedKeys:已经接受的客户端

UnacceptedKeys:还没有验证的客户端

RejectedKeys:拒绝的客户端

这时候看到cn-gd-gz-0001在未验证那里显示

执行命令接受管理这个客户端,会提示是否接受,Y即可

salt-key -a cn-gd-gz-0001

 6. 执行测试在线命令

salt '*'  test.ping

 

格式: * 代表所有客户端,*换成id代表只是选中这个id的客户端

返回true说明客户端在线,无响应大家懂的

7. 执行远程命令

cn-gd-gz-0001这台客户端执行命令uname –a

salt 'cn-gd-gz-0001' cmd.run 'uname -a'

8. 执行远程脚本

上面cmd.run可以执行远程命令,但是有时我们想执行很多命令,例如一键安装lnmp,怎么办?

9. 查看帮助

可以查看帮助文档来解决这个问题,帮助文档太多了,重定向到一个文件再看

salt '*' sys.doc > man.txt

查看cmd.开头的模块

grep 'cmd.' man.txt

会发现有一些以cmd. 开头的模块

cmd.exec_code:

CLIExample:

         salt ‘*’ cmd.exec_code ruby ‘puts “cheese”‘

演示:

salt 'cn-gd-gz-0001' cmd.exec_code ruby 'puts "cheese"'

这个客户端没有ruby,返回找不到这个命令

salt 'cn-gd-gz-0001' cmd.exec_code python 'print "cheese"'

正确显示

用法是:  salt ‘目标’ 执行语言 对应语言的代码

cmd.run  这个前面说了

cmd.script

这个是比较强大的命令,意思是可以从远程下载一个脚本在客户端执行

CLIExample:

         salt ‘*’ cmd.script salt://scripts/runme.sh

         salt ‘*’ cmd.script salt://scripts/runme.sh ‘arg1 arg2 “arg 3″‘

帮助文档说Thescript can be located on the salt master file server or on an HTTP/FTP       server.

所以配置一下salt服务端把脚本放在服务端

编辑/etc/salt/master,打开下面的注释,保存后重启服务端

file_roots:

   base:

     - /srv/salt

如果没有/srv/salt/script目录就创建一个

cd/srv/salt/scripts

写一个shell脚本保存为1.sh

#!/bin/bash
echo "test salt" > /tmp/testsalt.txt

执行远程命令

salt 'cn-gd-gz-0001' cmd.script salt://scripts/1.sh

 

显示的信息还是很直观的,stdout没有信息显示是因为脚本语句没有显示文本,可以加多一句echo “ok”再执行多一次就可以看到输出了.

看帮助好像还可以在执行脚本时添加命令行参数,试试

修改脚本为

#!/bin/bash
echo "test salt" > /tmp/testsalt.txt
echo $1
echo $2
echo $3

if [ "$3"x = "yy"x ]
then
echo "ok ???????????????"
fi

再次执行远程命令

salt 'cn-gd-gz-0001' cmd.script salt://scripts/1.sh "aa bb cc"
salt 'cn-gd-gz-0001' cmd.script salt://scripts/1.sh "aa bb yy"

看起来传递的参数有效的

10.扩展

grep -r ‘cmd.’ man.txt这个命令可以查出帮助文档中还有其它 cmd. 大概有10个,童鞋们可以研究研究

除了这个远程执行之外,salt还有很多已经做好的模块,在这里就不一一介绍了

11.      管理更多服务器

基本思路是: 把需要执行的脚本放在服务端,然后让客户端下载回去自己执行…….然后就可以喝杯茶了

这里演示是管理一台虚拟机。。。。。。。。能不能很方便管理一百台服务器?一千台服务器?一万台服务器?

笔者也没有一万台服务器环境,只能说管理几百台机器还是轻松加愉快的^_^ 如果你有更好的想法和建议,请告诉我,谢谢.

 

文章来源:linuxtone

Linux如何统计进程的CPU利用率

目录 
0. 为什么写这篇博客
1. 如何统计进程CPU利用率
1.0 概述
1.1 /proc/stat 统计总CPU消耗
1.2 进程消耗的CPU时间片
1.3 “非阻塞”的计算进程CPU利用率
1.4 ps命令显示的CPU利用率是什么意思
2 参考文档
阅读全文

10 个最佳的 Node.js 的 MVC 框架

Node.js 是一个基于Chrome JavaScript 运行时建立的一个平台, 用来方便地搭建快速的, 易于扩展的网络应用· Node.js 借助事件驱动, 非阻塞 I/O 模型变得轻量和高效, 非常适合 run across distributed devices 的 data-intensive 的实时应用·

本文介绍 10 个基于 Node.js 的 MVC 框架:

1) A Node.js Framework –  Sails js

vvv
阅读全文

JAVA多线程和并发基础面试问答

原文链接  译文连接 作者:Pankaj  译者郑旭东  校对:方腾飞

多线程和并发问题是Java技术面试中面试官比较喜欢问的问题之一。在这里,从面试的角度列出了大部分重要的问题,但是你仍然应该牢固的掌握Java多线程基础知识来对应日后碰到的问题。(校对注:非常赞同这个观点

Java多线程面试问题

1. 进程和线程之间有什么不同?

一个进程是一个独立(self contained)的运行环境,它可以被看作一个程序或者一个应用。而线程是在进程中执行的一个任务。Java运行环境是一个包含了不同的类和程序的单一进程。线程可以被称为轻量级进程。线程需要较少的资源来创建和驻留在进程中,并且可以共享进程中的资源。
阅读全文

老板 别和我谈未来

705

 

这是一个VP转型自己创业一年后的自我总结,他选择在情人节之际和大家表白。故事很简单,都说职业经理人有一个创业梦,在各品牌商那积累经验混熟圈子后自己出来创业。但有多少人止步于“创业”这个从0到1的起点?即便创业了又是否能从管理者向领导者转变?故事主角于振伟的经历可能并不传奇,没有嗖的一下就几百万获风投,变身高帅富迎娶白富美,但听完他的述说,或许会让你重新审视下自己的创业梦,文艺青年可以来一场说走就走的旅行,屌丝们还是来场说干就干的创业实际些。

2004年毕业,2013年创业,此间在大大小小的公司混迹了十年,对于很多被神话的创业故事而言,我的创业前传就是“打工”,并没有多少可以值得挖掘的精彩故事。
阅读全文

程序员的《权利法案》

“程序员应有的权利你都要去争取!而且记住:你可以让公司做出改变,要不然你就换一家公司。”

一个公司愿意付给一个开发人员6万~10万美元的薪水,却用糟糕的工作条件以及破烂的硬件设施摧残他,这对我来说是难以置信的。不管怎么说,这买卖一点都不划算。然而,我却总能看到这样的事情。这让人很震惊,竟然有这么多公司依然没有为软件开发者的成功提供必要的基础条件。

我提议,我们应该制定一个针对程序员的《权利法案》,以防止公司拒绝给程序员提供取得成功所必需的基础条件,最终达到保护程序员权利的目的。
阅读全文

BigPipe学习研究

1. 技术背景 FaceBook页面加载技术

试想这样一个场景,一个经常访问的网站,每次打开它的页面都要要花费6 秒;同时另外一个网站提供了相似的服务,但响应时间只需3 秒,那么你会如何选择呢?数据表明,如果用户打开一个网站,等待3~4 秒还没有任何反应,他们会变得急躁,焦虑,抱怨,甚至关闭网页并且不再访问,这是非常糟糕的情况。所以,网页加载的速度十分重要,尤其对于拥有遍布全球的5亿用户的Facebook(全球最大的社交服务网站)这样的大型网站,有着大量并发请求、海量数据等客观情况,速度就成了必须攻克的难题之一。

2010 年初的时候,Facebook 的前端性能研究小组开始了他们的优化项目,经过了六个月的努力,成功的将个人空间主页面加载耗时由原来的5 秒减少为现在的2.5 秒。这是一个非常了不起的成就,也给用户来带来了很好的体验。在优化项目中,工程师提出了一种新的页面加载技术,称之为Bigpipe。目前淘宝和Facebook 面临的问题非常相似:海量数据和页面过大,如果可以在详情页、列表页中使用bigpipe,或者在webx中集成bigpipe,将会带来明显的页面加载速度提升。

2. 相关介绍

2.1 网站前端优化的重要性

《高性能网站建设指南》一书中指出,只有10%~20%的最终用户响应时间是花费在从Web 服务器获取HTML 文档并传送到浏览器中的。如果希望能够有效地减少页面的响应时间,就必须关注剩余的80%~90%的最终用户体验。做个比较,如果对后台业务逻辑进行优化,效率提高了50%,但最终的页面响应时间只减少了5%~10%,因为它所占的比重较少。如果对前端进行性能优化,效率提升50%,则会使最终页面响应时间减少40%~45%。这是多么可观的数字!另外,前端的性能优化一般比业务逻辑的优化更加容易。所以,前端优化投入小,见效快,性价比极高,需要投入更多的关注。
阅读全文

SAE月刊:2014年第2期

 

SAE月刊 2014年第2期
Sina APP Engine 易用、可靠、高效、安全
本期特讯
新浪云计算公开课 1月16日,“云计算发展与政策论坛”在北京召开了“可信云服务认证首轮(第一批企业)评估情况发布会”,公布了可信云服务认证首轮(第一批企业)评估的情况。
“可信云服务认证”首轮认证工作从2013年5月正式开始,经过严格的指标评测、材料审查和专家评议,评估结果最终确定:10家云服务商资质合法、承诺完备且规范,参评云服务的真实能力与承诺相符,能够满足普通公众的需求。
新浪云很荣幸作为首批之一的云服务商通过了此次评估。
【详细】
服务前沿
SAE 实时消息推送服务—Channel 全面开放
Channel是SAE提供的实时消息推送服务。它于2013年11月底上线,经过两个多月的公测后,于近日全面开放。
用户将不再需要邀请码就可以使用它,并且该服务目前不计费。大大节约成本的同时,还能帮您拉动用户活跃度,改善产品体验。
【详细】
通过SAE申请新浪微博加V服务正式启动
通过SAE申请微博加V要求:
1.通过SAE中级、高级开发者认证。
2.在SAE开发者社区发布一篇原创的文章被加为精华帖。
同时满足以上2条即可申请微博加V。认证信息均为新浪云中级开发者,新浪云高级开发者。
【详细】
技术资源
SAE技术微博精选(最新)
1.《原生态纯JavaScript 100大技巧大收集》
2.《浅谈关于SAE程序开发与优化的一些技巧》
3.《中文编码杂谈》
4.《精选85道Linux系统管理员常见笔试填空题(附答案)》
5.《一个基于 Web 的思维导图绘制工具——My Mind》
6.《给Android开发者准备的42个链接地址》
7.《我的 Vim 常用插件和键位映射配置》
8.《2013年Python精华汇总》
9.《Google Java Style》
10.《git – 简易指南》
11.《JavaScript 异步编程原理》
 
12.《CSS 悬停特效合集》
13.《大量的免费编程电子书》
14.《php5.3 PHP5.4 PHP5.5 新特性》
15.《X皮书之shell 常用代码》
16.《什么是内存泄漏》
17.《Redis学习手册》
18.《那些鲜为人知却十分有用的数据结构》
19.《新浪微博 Redis 实战经验分享》
20.《tomcat设置https双向协议》
21.《每个程序员都应该学习使用Python或Ruby》
22.《Linux服务器性能评估》
23.《一款开源的原型设计工具——Pencil》
24.《Python学习指南:Full Stack Python》
访问SAE 扫描二维码 扫一扫,获取优质技术资源
关注微信:Sina APP Engine
关注新浪微博
 

如果您有任何疑问或建议,请联系我们,欢迎发邮件到saemail@sina.cn,或到开发者论坛交流反馈。