技术细节

  • Linux iostat监测IO状态

    ·

    Linux系统出现了性能问题,一般我们可以通过top、iostat、free、vmstat等命令来查看初步定位问题。其中iostat可以给我们提供丰富的IO状态数据。

    1. 基本使用

    $iostat -d -k 1 10

    参数 -d 表示,显示设备(磁盘)使用状态;-k某些使用block为单位的列强制使用Kilobytes为单位;1 10表示,数据显示每隔1秒刷新一次,共显示10次。 (more…)

  • 本文试图从硬件结构、逻辑结构两方面来介绍Linux中本地磁盘的基本知识。

    1. 硬件结构

    一块磁盘由多个盘面组成,每个盘面有一个对应的磁头(heads),我们可以在该盘面上存储我们需要的信息。

    每一个盘面,被分成多个圆环,我们称之为柱面(cylinders)。每一个柱面又被分割为多个扇形区域,简称扇区(sectors),参见下图:

    磁盘扇区(图片来源www.eygle.com/

    两个红色环形之间是一个柱面;图中黄色标记部分是一个扇区。 (more…)

  • Linux下C语言连接MySQL

    ·

    相对于Window下的设置,Linux要简单的很多。

    1. 示例程序

    $ vi mysql-c-api.c #include <stdio.h> #include "mysql/mysql.h" int main(){ MYSQL mysql; mysql_init(&mysql); mysql_options(&mysql,MYSQL_OPT_COMPRESS,0); mysql_options(&mysql,MYSQL_INIT_COMMAND,"SET autocommit=0"); if (!mysql_real_connect(&mysql,"10.2.3.4","user","passwd","database",0,NULL,0)) { fprintf(stderr, "Failed to connect to database: Error: %sn", mysql_error(&mysql)); } return 0; }

    2. 编译命令

    在MySQL编译后的二进制文件中,有一个很有用的二进制文件“mysql_config”(一般和mysql命令在同一个目录下),我们可以通过这个程序找到需要的头文件和连接库:

    $ gcc -o a.out $(mysql_config --cflags) mysql-c-api.c $(mysql_config --libs) $ ./a.out
  • Sphinx之配置篇

    ·

    作者:周振兴 mail
    摘要:MySQL提供了LIKE子句可以很好的实现对数据库中数据的模糊搜索,使用LIKE很多时候可以帮助我们解决一些站内搜索的问题。但是随着MySQL中数据量逐渐增加,LIKE模糊查询的效率将成为MySQL数据库的主要压力。这时候尝试使用sphinx,可以很好的帮你解决这个问题。本文将继续介绍具体如何部署sphinx。在阅读本文前,建议先浏览sphinx使用介绍(前篇),或者跳过本文直接RTFM

    (more…)

  • php中session过期时间设置

    ·

    网上很多人给出了解答:修改php配置文件中的session.gc_maxlifetime。如果想了解更多session回收机制,继续阅读。(本文环境php5.2)

    概述:每一次php请求,会有1/100的概率(默认值)触发“session回收”。如果“session回收”发生,那就会检查/tmp/sess_*的文件,如果最后的修改时间到现在超过了1440秒(gc_maxlifetime的值),就将其删除,意味着这些session过期失效。 (more…)

  • mysqld随Linux开机自动启动

    ·

    在MySQL的管理过程中,偶尔会遇到一些PC Server宕机或者重启,这时我需要在主机启动后再将MySQL服务启动。一般情况下,这项工作都是简单的。但是,当面临上百台或者更多的MySQL主机的时候,这种“偶尔”可能会很多,这种“偶尔”还会在半夜或者凌晨发生,如果每次都手动操作,这是很繁琐的。更重要的是,如果因此而打断了凌晨的美梦是不值得的。

    LinuxMySQL-2

    (more…)