Nickcheng.LOG

在天朝的每天都当最后一天吧!

Archive for the ‘translate’ tag

[翻译]Media Temple (dv) 服务器性能优化

one comment

原文见: http://kb.mediatemple.net/article.php?id=771

概述

本文总结了优化 (dv) 服务器的方法. 包括运行程序时使用尽可能少的内存和资源, 逐渐提升的系统稳定性, 以及在高负载条件下的高可用性.

征兆

  • 频繁的 Apache(httpd) 当机
  • 缓慢的服务器响应速度
  • “服务器无法访问”(Server unreachable)的错误信息
  • QoS 警报中的 kmemsize 警告(在Virtuozzo的Plesk控制面板中)
  • QoS 警报中的 privvmpages 警告(在Virtuozzo的Plesk控制面板中)

需要的一些准备

详细描述

注意: 下面的几篇文章的难度是逐步提高的, 性能调优的力度也是逐渐增大. 所以我们建议你按照顺序来使用这些文章. 在使用每篇文章前, 最好先在前一篇的基础上进行服务器稳定性和功能性的测试!

第一部分: Apache 性能调优基础(httpd)(英文)

这篇文章指导你把 Apache 的 httpd.conf 文件中的 Timeout 和 MaxClients 参数调低. 这些参数可以降低 Apache 服务器的内存消耗并提高可用性.

  • 完成本文的操作大概需要的时间: 5-20 分钟
  • 难度级别(1-5, 5最难): 2
  • 可能的内存占用减少: 20兆-60兆

第二部分: MySQL 性能调优基础(mysqld)(英文)

这篇文章知道你修改 MySQL 的 my.cnf 配置文件来启用查询缓存. 虽然这样会增加 MySQL 的内存消耗, 但是性能却有很大程度的提高.

  • 完成本文的操作大概需要的时间: 5-15 分钟
  • 难度级别(1-5, 5最难): 2
  • 内存消耗增加: 16兆-32兆

第三部分: 其他性能调优(英文)

这篇文章指导你限制或关掉一些你服务器上不需要的服务. 也许你只需要本文的一部分内容, 所以有些操作可能和例子不太一样.

  • 完成本文的操作大概需要的时间: 5-15 分钟
  • 难度级别(1-5, 5最难): 3
  • 可能的内存占用减少: 60兆-130兆

Written by nickcheng

October 15th, 2007 at 5:05 pm

Posted in 俺的技术

Tagged with , , , , ,

[翻译]Curl对象

2 comments

Curl对象

Curl对象有如下方法

close() 无返回值

对应于libcurl的curl_easy_cleanup方法. 在一个Curl对象不再有任何引用的时候, pycurl会自动调用这个方法. 这个方法也可以被显式调用.

perform() 无返回值

对应于libcurl的curl_easy_perform方法.

setopt(option, value) 无返回值

对应于libcurl的curl_easy_setopt方法. option参数对应于libcurl的CURLOPT_*这一系列常量. 要注意的是, 在这个方法里要去掉CURLOPT_的前缀. value参数的取值类型取决于option参数, 它可以是字符串, 整型变量, 长整型变量, 文件对象, 列表对象或者方法.

例子


import pycurl
c = pycurl.Curl()
c.setopt(pycurl.URL, “http://www.python.org/”)
c.setopt(pycurl.HTTPHEADER, ["Accept:"])
import StringIO
b = StringIO.StringIO()
c.setopt(pycurl.WRITEFUNCTION, b.write)
c.setopt(pycurl.FOLLOWLOCATION, 1)
c.setopt(pycurl.MAXREDIRS, 5)
c.perform()
print b.getvalue()

getinfo(option) 返回值:Result

对应于libcurl的curl_easy_getinfo方法. option参数对应于libcurl的CURLINFO_*常量, 使用的时候要去掉CURLINFO_前缀. 方法的返回值Result类型可能是整数, 浮点数或字符串, 这取决于option参数. getinfo方法应当在perform方法调用完毕后进行调用.

例子


import pycurl
c = pycurl.Curl()
c.setopt(pycurl.URL, “http://sf.net”)
c.setopt(pycurl.FOLLOWLOCATION, 1)
c.perform()
print c.getinfo(pycurl.HTTP_CODE), c.getinfo(pycurl.EFFECTIVE_URL)

–> 200 “http://sourceforge.net/”

errstr() 无返回值

以字符串形式返回当前示例的错误缓冲区内容

Written by nickcheng

April 11th, 2007 at 8:23 pm

Posted in 俺的技术

Tagged with ,

Switch to our mobile site