The Mirages

樱桃沟夹事

由于用redis太多,而在程序中实现pre-hashing的方法导致扩展比较麻烦,每次要新的redis进来都需要重新改下代码。于是就测试了一下twitter开源出来的twemproxy。   项目地址为:https://github.com/twitter/twemproxy 安装方式很简单,配置文件也十分简单易懂。就是hash函数和distribution 这2个部分不知道怎么选。 distribution的hash算法用的是一致性hash的ketama算法。但是前面的hash函数部分不是特别明白具体的,因为一开始选用的fnv1a_64哈希算法,导致我在2个redis后端的时候100个set居然都在一台服务器上,有点不是特别靠谱,所以选用了murmur哈希算法。具体的算法如下   哈希算法:

  • one_at_a_time
  • md5
  • crc16
  • crc32
  • fnv1_64
  • fnv1a_64
  • fnv1_32
  • fnv1a_32
  • hsieh
  • murmur
  • jenkins

distribution 算法:

  • ketama
  • modula
  • random

  具体的配置文件如下

1
2
3
4
5
6
7
8
9
10
11
12
13
redistest1: 
listen: 0.0.0.0:21121 #使用哪个端口启动Twemproxy
redis: true #是否是Redis的proxy
hash: murmur #指定具体的hash函数
distribution: ketama #具体的hash算法
auto_eject_hosts: true #是否在结点无法响应的时候临时摘除结点
timeout: 400 #超时时间(毫秒)
server_retry_timeout: 1000 #重试的时间(毫秒)
server_failure_limit: 2 #结点故障多少次就算摘除掉
servers: #下面表示所有的Redis节点(IP:端口号:权重)
- 10.10.10.232:6379:1
- 10.10.10.233:6379:1
- 10.10.10.234:6379:1
阅读全文 »

tengine是一个不错的nginx增强版本,特别是在统计request time的部分,以前必须要通过日志来进行后期统计,但是无法很实时。但是现在却是比较方便的。 但是也有点问题,在nginx status的部分显示的request time是nginx启动开始所有请求的request time的一个合计。也就是说nginx平均的request time是nginx status里的request time值除以request值。但是这个却无法展现最近的request time时间。用了一个取巧的办法,就是取检查当时5秒的平均request time。 最后展示的结果就是如下 稍微修改了一下get_nginx_socket_status.pl 这个文件和对应的xml文件 ```c

#!/usr/bin/perl if (! eval “require LWP::UserAgent;”) { $ret = “LWP::UserAgent not found”; } if ( exists $ARGV[0]) { if ($ret) { print “no ($ret)n”; exit 1; } my $ua = LWP::UserAgent->new(timeout => 5); my $req = HTTP::Headers->new; $req = HTTP::Request->new(GET => $ARGV[0]); $req->user_agent(‘no-monitor’); my $response = $ua->request($req); my @content = split (/n/, $response->content); sleep(10); my $response = $ua->request($req); my @newcontent = split (/n/, $response->content); # my $response = $ua->request(HTTP::Request->new(‘GET’,$ARGV[0])); # my @content = split (/n/, $response->content); # my $newcontent = split (/n/, $newresponse->newcontent); my $active_connections = -1; if ($content[0] =~ /^Active connections:s+(d+)s*$/i) { $active_connections = $1; } my $accepts = -1; my $handled = -1; my $requests = -1; my $requests_time = -1; if ($content[2] =~ /^s+(d+)s+(d+)s+(d+)s+(d+)s*$/) { $accepts = $1; $handled = $2; $requests = $3; $oldrequests_time = $4; } if ($newcontent[2] =~ /^s+(d+)s+(d+)s+(d+)s+(d+)s*$/) { $newrequests = $3; $requests_time = int(($4-$oldrequests_time) / ($newrequests-$requests)); } my $reading = -1; my $writing = -1; my $waiting = -1; if ($content[3] =~ /Reading: (d+) Writing: (d+) Waiting: (d+)s*$/) { $reading = $1; $writing = $2; $waiting = $3; } print “nginx_accepts:$accepts nginx_handled:$handled nginx_requests:$requests nginx_requests_time:$requests_time”; print “n”; }

```c
1
2

<cacti> <hash_02002121ea7f2064be4bb8c2a71a52ff96fdc1> <name>tengine</name> <graph_templates>hash_000021c35dc317aadf8219dabae7c29fd98694|hash_000021dca2bc381d19c91ceb1603b5062c83e2</graph_templates> <data_queries></data_queries> </hash_02002121ea7f2064be4bb8c2a71a52ff96fdc1> <hash_000021c35dc317aadf8219dabae7c29fd98694> <name>Nginx Clients Stat</name> <graph> <t_title></t_title> <title>|host_description| - Nginx Clients Stat</title> <t_image_format_id></t_image_format_id> <image_format_id>1</image_format_id> <t_height></t_height> <height>120</height> <t_width></t_width> <width>500</width> <t_slope_mode></t_slope_mode> <slope_mode>on</slope_mode> <t_auto_scale></t_auto_scale> <auto_scale>on</auto_scale> <t_auto_scale_opts></t_auto_scale_opts> <auto_scale_opts>2</auto_scale_opts> <t_auto_scale_log></t_auto_scale_log> <auto_scale_log></auto_scale_log> <t_scale_log_units></t_scale_log_units> <scale_log_units></scale_log_units> <t_auto_scale_rigid></t_auto_scale_rigid> <auto_scale_rigid></auto_scale_rigid> <t_auto_padding></t_auto_padding> <auto_padding>on</auto_padding> <t_export></t_export> <export>on</export> <t_upper_limit></t_upper_limit> <upper_limit>100</upper_limit> <t_lower_limit></t_lower_limit> <lower_limit>0</lower_limit> <t_base_value></t_base_value> <base_value>1000</base_value> <t_unit_value></t_unit_value> <unit_value></unit_value> <t_unit_exponent_value></t_unit_exponent_value> <unit_exponent_value></unit_exponent_value> <t_vertical_label></t_vertical_label> <vertical_label></vertical_label> </graph> <items> <hash_10002108f6db75c900100b68f5e707ea7651bf> <task_item_id>hash_0800216aa36fa51315e2d6d15b708307f2c53c</task_item_id> <color_id>005D57</color_id> <alpha>FF</alpha> <graph_type_id>4</graph_type_id> <consolidation_function_id>1</consolidation_function_id> <cdef_id>0</cdef_id> <value></value> <gprint_id>hash_060021e9c43831e54eca8069317a2ce8c6f751</gprint_id> <text_format>Active</text_format> <hard_return></hard_return> <sequence>1</sequence> </hash_10002108f6db75c900100b68f5e707ea7651bf> <hash_100021d0e3bbf50c29a3069342cd408826b753> <task_item_id>hash_0800216aa36fa51315e2d6d15b708307f2c53c</task_item_id> <color_id>0</color_id> <alpha>FF</alpha> <graph_type_id>9</graph_type_id> <consolidation_function_id>4</consolidation_function_id> <cdef_id>0</cdef_id> <value></value> <gprint_id>hash_060021e9c43831e54eca8069317a2ce8c6f751</gprint_id> <text_format>Current:</text_format> <hard_return></hard_return> <sequence>2</sequence> </hash_100021d0e3bbf50c29a3069342cd408826b753> <hash_100021161e34504642f56fef3225d5b506b8ae> <task_item_id>hash_0800216aa36fa51315e2d6d15b708307f2c53c</task_item_id> <color_id>0</color_id> <alpha>FF</alpha> <graph_type_id>9</graph_type_id> <consolidation_function_id>1</consolidation_function_id> <cdef_id>0</cdef_id> <value></value> <gprint_id>hash_060021e9c43831e54eca8069317a2ce8c6f751</gprint_id> <text_format>Average:</text_format> <hard_return></hard_return> <sequence>3</sequence> </hash_100021161e34504642f56fef3225d5b506b8ae> <hash_100021da81390a6e5ba8a4f31aec4875cafb02> <task_item_id>hash_0800216aa36fa51315e2d6d15b708307f2c53c</task_item_id> <color_id>0</color_id> <alpha>FF</alpha> <graph_type_id>9</graph_type_id> <consolidation_function_id>3</consolidation_function_id> <cdef_id>0</cdef_id> <value></value> <gprint_id>hash_060021e9c43831e54eca8069317a2ce8c6f751</gprint_id> <text_format>Max:</text_format> <hard_return>on</hard_return> <sequence>4</sequence> </hash_100021da81390a6e5ba8a4f31aec4875cafb02> <hash_10002187617c277de94698bdc3d784e2257595> <task_item_id>hash_080021729d4b3fa3813f2974ce01b29ca6850e</task_item_id> <color_id>4444FF</color_id> <alpha>FF</alpha> <graph_type_id>4</graph_type_id> <consolidation_function_id>1</consolidation_function_id> <cdef_id>0</cdef_id> <value></value> <gprint_id>hash_060021e9c43831e54eca8069317a2ce8c6f751</gprint_id> <text_format>Reading</text_format> <hard_return></hard_return> <sequence>5</sequence> </hash_10002187617c277de94698bdc3d784e2257595> <hash_100021e88db2dfe01d9a68242f3b00af85da06> <task_item_id>hash_080021729d4b3fa3813f2974ce01b29ca6850e</task_item_id> <color_id>0</color_id> <alpha>FF</alpha> <graph_type_id>9</graph_type_id> <consolidation_function_id>4</consolidation_function_id> <cdef_id>0</cdef_id> <value></value> <gprint_id>hash_060021e9c43831e54eca8069317a2ce8c6f751</gprint_id> <text_format>Current:</text_format> <hard_return></hard_return> <sequence>6</sequence> </hash_100021e88db2dfe01d9a68242f3b00af85da06> <hash_10002191cbdb8c81005e78564efaa2c7045408> <task_item_id>hash_080021729d4b3fa3813f2974ce01b29ca6850e</task_item_id> <color_id>0</color_id> <alpha>FF</alpha> <graph_type_id>9</graph_type_id> <consolidation_function_id>1</consolidation_function_id> <cdef_id>0</cdef_id> <value></value> <gprint_id>hash_060021e9c43831e54eca8069317a2ce8c6f751</gprint_id> <text_format>Average:</text_format> <hard_return></hard_return> <sequence>7</sequence> </hash_10002191cbdb8c81005e78564efaa2c7045408> <hash_100021659f92f53f26f1dbb9ae3238e9fca3e8> <task_item_id>hash_080021729d4b3fa3813f2974ce01b29ca6850e</task_item_id> <color_id>0</color_id> <alpha>FF</alpha> <graph_type_id>9</graph_type_id> <consolidation_function_id>3</consolidation_function_id> <cdef_id>0</cdef_id> <value></value> <gprint_id>hash_060021e9c43831e54eca8069317a2ce8c6f751</gprint_id> <text_format>Max:</text_format> <hard_return>on</hard_return> <sequence>8</sequence> </hash_100021659f92f53f26f1dbb9ae3238e9fca3e8> <hash_100021ad886e1f4f835761fddf7979e06cc06b> <task_item_id>hash_08002150e895b90a6d17b7a212997b7cb1afba</task_item_id> <color_id>F24AC8</color_id> <alpha>FF</alpha> <graph_type_id>4</graph_type_id> <consolidation_function_id>1</consolidation_function_id> <cdef_id>0</cdef_id> <value></value> <gprint_id>hash_060021e9c43831e54eca8069317a2ce8c6f751</gprint_id> <text_format>Waiting</text_format> <hard_return></hard_return> <sequence>9</sequence> </hash_100021ad886e1f4f835761fddf7979e06cc06b> <hash_1000212a650f2015d0cd2075a13090e99c2e88> <task_item_id>hash_08002150e895b90a6d17b7a212997b7cb1afba</task_item_id> <color_id>0</color_id> <alpha>FF</alpha> <graph_type_id>9</graph_type_id> <consolidation_function_id>4</consolidation_function_id> <cdef_id>0</cdef_id> <value></value> <gprint_id>hash_060021e9c43831e54eca8069317a2ce8c6f751</gprint_id> <text_format>Current:</text_format> <hard_return></hard_return> <sequence>10</sequence> </hash_1000212a650f2015d0cd2075a13090e99c2e88> <hash_100021d960bb2d2aa8e2013f1a6e6ec005f348> <task_item_id>hash_08002150e895b90a6d17b7a212997b7cb1afba</task_item_id> <color_id>0</color_id> <alpha>FF</alpha> <graph_type_id>9</graph_type_id> <consolidation_function_id>1</consolidation_function_id> <cdef_id>0</cdef_id> <value></value> <gprint_id>hash_060021e9c43831e54eca8069317a2ce8c6f751</gprint_id> <text_format>Average:</text_format> <hard_return></hard_return> <sequence>11</sequence> </hash_100021d960bb2d2aa8e2013f1a6e6ec005f348> <hash_10002176e9b62101708aee0815b2e01508d41a> <task_item_id>hash_08002150e895b90a6d17b7a212997b7cb1afba</task_item_id> <color_id>0</color_id> <alpha>FF</alpha> <graph_type_id>9</graph_type_id> <consolidation_function_id>3</consolidation_function_id> <cdef_id>0</cdef_id> <value></value> <gprint_id>hash_060021e9c43831e54eca8069317a2ce8c6f751</gprint_id> <text_format>Max:</text_format> <hard_return>on</hard_return> <sequence>12</sequence> </hash_10002176e9b62101708aee0815b2e01508d41a> <hash_1000211210e4ae921055593929a9f41703cf25> <task_item_id>hash_08002175698c6bd226db0b7cd67089e651f382</task_item_id> <color_id>00CF00</color_id> <alpha>FF</alpha> <graph_type_id>4</graph_type_id> <consolidation_function_id>1</consolidation_function_id> <cdef_id>0</cdef_id> <value></value> <gprint_id>hash_060021e9c43831e54eca8069317a2ce8c6f751</gprint_id> <text_format>Writing</text_format> <hard_return></hard_return> <sequence>13</sequence> </hash_1000211210e4ae921055593929a9f41703cf25> <hash_10002144359da88929bda518ca1c8809708993> <task_item_id>hash_08002175698c6bd226db0b7cd67089e651f382</task_item_id> <color_id>0</color_id> <alpha>FF</alpha> <graph_type_id>9</graph_type_id> <consolidation_function_id>4</consolidation_function_id> <cdef_id>0</cdef_id> <value></value> <gprint_id>hash_060021e9c43831e54eca8069317a2ce8c6f751</gprint_id> <text_format>Current:</text_format> <hard_return></hard_return> <sequence>14</sequence> </hash_10002144359da88929bda518ca1c8809708993> <hash_100021ac404e13020ab6f400dca560f37922d1> <task_item_id>hash_08002175698c6bd226db0b7cd67089e651f382</task_item_id> <color_id>0</color_id> <alpha>FF</alpha> <graph_type_id>9</graph_type_id> <consolidation_function_id>1</consolidation_function_id> <cdef_id>0</cdef_id> <value></value> <gprint_id>hash_060021e9c43831e54eca8069317a2ce8c6f751</gprint_id> <text_format>Average:</text_format> <hard_return></hard_return> <sequence>15</sequence> </hash_100021ac404e13020ab6f400dca560f37922d1> <hash_10002115ec3c66d07404a13ad6e3c8178cd8f0> <task_item_id>hash_08002175698c6bd226db0b7cd67089e651f382</task_item_id> <color_id>0</color_id> <alpha>FF</alpha> <graph_type_id>9</graph_type_id> <consolidation_function_id>3</consolidation_function_id> <cdef_id>0</cdef_id> <value></value> <gprint_id>hash_060021e9c43831e54eca8069317a2ce8c6f751</gprint_id> <text_format>Max:</text_format> <hard_return></hard_return> <sequence>16</sequence> </hash_10002115ec3c66d07404a13ad6e3c8178cd8f0> </items> <inputs> <hash_0900219eefdb6640f3f9fa2f6bfdf9135b0cd0> <name>Data Source \[nginx_writing\]</name> <description></description> <column_name>task_item_id</column_name> <items>hash_0000211210e4ae921055593929a9f41703cf25|hash_00002144359da88929bda518ca1c8809708993|hash_000021ac404e13020ab6f400dca560f37922d1|hash_00002115ec3c66d07404a13ad6e3c8178cd8f0</items> </hash_0900219eefdb6640f3f9fa2f6bfdf9135b0cd0> <hash_090021308e8e7eed3de1b7c06a8b0106f685e9> <name>Data Source \[nginx_reading\]</name> <description></description> <column_name>task_item_id</column_name> <items>hash_00002187617c277de94698bdc3d784e2257595|hash_000021e88db2dfe01d9a68242f3b00af85da06|hash_00002191cbdb8c81005e78564efaa2c7045408|hash_000021659f92f53f26f1dbb9ae3238e9fca3e8</items> </hash_090021308e8e7eed3de1b7c06a8b0106f685e9> <hash_090021b0c0622d26d92272f75b7b080b4db020> <name>Data Source \[nginx_waiting\]</name> <description></description> <column_name>task_item_id</column_name> <items>hash_000021ad886e1f4f835761fddf7979e06cc06b|hash_0000212a650f2015d0cd2075a13090e99c2e88|hash_000021d960bb2d2aa8e2013f1a6e6ec005f348|hash_00002176e9b62101708aee0815b2e01508d41a</items> </hash_090021b0c0622d26d92272f75b7b080b4db020> <hash_090021ea7f568913627a2846e874fc99ed9e4f> <name>Data Source \[nginx_active\]</name> <description></description> <column_name>task_item_id</column_name> <items>hash_00002108f6db75c900100b68f5e707ea7651bf|hash_000021d0e3bbf50c29a3069342cd408826b753|hash_000021161e34504642f56fef3225d5b506b8ae|hash_000021da81390a6e5ba8a4f31aec4875cafb02</items> </hash_090021ea7f568913627a2846e874fc99ed9e4f> </inputs> </hash_000021c35dc317aadf8219dabae7c29fd98694> <hash_000021dca2bc381d19c91ceb1603b5062c83e2> <name>nginx new socket status</name> <graph> <t_title></t_title> <title>|host_description| - nginx new socket status</title> <t_image_format_id></t_image_format_id> <image_format_id>1</image_format_id> <t_height></t_height> <height>120</height> <t_width></t_width> <width>500</width> <t_slope_mode></t_slope_mode> <slope_mode>on</slope_mode> <t_auto_scale></t_auto_scale> <auto_scale>on</auto_scale> <t_auto_scale_opts></t_auto_scale_opts> <auto_scale_opts>2</auto_scale_opts> <t_auto_scale_log></t_auto_scale_log> <auto_scale_log></auto_scale_log> <t_scale_log_units></t_scale_log_units> <scale_log_units></scale_log_units> <t_auto_scale_rigid></t_auto_scale_rigid> <auto_scale_rigid></auto_scale_rigid> <t_auto_padding></t_auto_padding> <auto_padding>on</auto_padding> <t_export></t_export> <export>on</export> <t_upper_limit></t_upper_limit> <upper_limit>100</upper_limit> <t_lower_limit></t_lower_limit> <lower_limit>0</lower_limit> <t_base_value></t_base_value> <base_value>1000</base_value> <t_unit_value></t_unit_value> <unit_value></unit_value> <t_unit_exponent_value></t_unit_exponent_value> <unit_exponent_value></unit_exponent_value> <t_vertical_label></t_vertical_label> <vertical_label></vertical_label> </graph> <items> <hash_100021c4e5c5bff13fa014835a58f0afa52839> <task_item_id>hash_080021fa92c49c5bd4360018b39053964860ad</task_item_id> <color_id>008A6D</color_id> <alpha>FF</alpha> <graph_type_id>4</graph_type_id> <consolidation_function_id>1</consolidation_function_id> <cdef_id>0</cdef_id> <value></value> <gprint_id>hash_060021e9c43831e54eca8069317a2ce8c6f751</gprint_id> <text_format>Accept</text_format> <hard_return></hard_return> <sequence>1</sequence> </hash_100021c4e5c5bff13fa014835a58f0afa52839> <hash_10002199f3d6ea10e2dd9ec781da06e6842ea7> <task_item_id>hash_080021fa92c49c5bd4360018b39053964860ad</task_item_id> <color_id>0</color_id> <alpha>FF</alpha> <graph_type_id>9</graph_type_id> <consolidation_function_id>4</consolidation_function_id> <cdef_id>0</cdef_id> <value></value> <gprint_id>hash_060021e9c43831e54eca8069317a2ce8c6f751</gprint_id> <text_format>Current:</text_format> <hard_return></hard_return> <sequence>2</sequence> </hash_10002199f3d6ea10e2dd9ec781da06e6842ea7> <hash_100021fccbc67b30290bde7df75ed3b421e7de> <task_item_id>hash_080021fa92c49c5bd4360018b39053964860ad</task_item_id> <color_id>0</color_id> <alpha>FF</alpha> <graph_type_id>9</graph_type_id> <consolidation_function_id>1</consolidation_function_id> <cdef_id>0</cdef_id> <value></value> <gprint_id>hash_060021e9c43831e54eca8069317a2ce8c6f751</gprint_id> <text_format>Avg:</text_format> <hard_return></hard_return> <sequence>3</sequence> </hash_100021fccbc67b30290bde7df75ed3b421e7de> <hash_10002142f34addd922328413beb2798281f2bb> <task_item_id>hash_080021fa92c49c5bd4360018b39053964860ad</task_item_id> <color_id>0</color_id> <alpha>FF</alpha> <graph_type_id>9</graph_type_id> <consolidation_function_id>3</consolidation_function_id> <cdef_id>0</cdef_id> <value></value> <gprint_id>hash_060021e9c43831e54eca8069317a2ce8c6f751</gprint_id> <text_format>Max:</text_format> <hard_return>on</hard_return> <sequence>4</sequence> </hash_10002142f34addd922328413beb2798281f2bb> <hash_10002196b0c4967a97e35e016f44e76492e993> <task_item_id>hash_080021d0687854b0fc4cfa9f739d52eeed7944</task_item_id> <color_id>0000FF</color_id> <alpha>FF</alpha> <graph_type_id>4</graph_type_id> <consolidation_function_id>1</consolidation_function_id> <cdef_id>0</cdef_id> <value></value> <gprint_id>hash_060021e9c43831e54eca8069317a2ce8c6f751</gprint_id> <text_format>Handled</text_format> <hard_return></hard_return> <sequence>5</sequence> </hash_10002196b0c4967a97e35e016f44e76492e993> <hash_100021f0c5e45def97c9d37ba3e8a1e9c8df0a> <task_item_id>hash_080021d0687854b0fc4cfa9f739d52eeed7944</task_item_id> <color_id>0</color_id> <alpha>FF</alpha> <graph_type_id>9</graph_type_id> <consolidation_function_id>4</consolidation_function_id> <cdef_id>0</cdef_id> <value></value> <gprint_id>hash_060021e9c43831e54eca8069317a2ce8c6f751</gprint_id> <text_format>Current:</text_format> <hard_return></hard_return> <sequence>6</sequence> </hash_100021f0c5e45def97c9d37ba3e8a1e9c8df0a> <hash_1000218b3b96978766aca9da12d15345f1bccb> <task_item_id>hash_080021d0687854b0fc4cfa9f739d52eeed7944</task_item_id> <color_id>0</color_id> <alpha>FF</alpha> <graph_type_id>9</graph_type_id> <consolidation_function_id>1</consolidation_function_id> <cdef_id>0</cdef_id> <value></value> <gprint_id>hash_060021e9c43831e54eca8069317a2ce8c6f751</gprint_id> <text_format>Avg:</text_format> <hard_return></hard_return> <sequence>7</sequence> </hash_1000218b3b96978766aca9da12d15345f1bccb> <hash_100021061507df9ab92c7ae2d09b5f50a0bf67> <task_item_id>hash_080021d0687854b0fc4cfa9f739d52eeed7944</task_item_id> <color_id>0</color_id> <alpha>FF</alpha> <graph_type_id>9</graph_type_id> <consolidation_function_id>3</consolidation_function_id> <cdef_id>0</cdef_id> <value></value> <gprint_id>hash_060021e9c43831e54eca8069317a2ce8c6f751</gprint_id> <text_format>Max:</text_format> <hard_return>on</hard_return> <sequence>8</sequence> </hash_100021061507df9ab92c7ae2d09b5f50a0bf67> <hash_1000215f097e55c7ab687d12c5ece5e0c5c831> <task_item_id>hash_0800212791d488dfb6b474464803abe233d7ef</task_item_id> <color_id>6EA100</color_id> <alpha>FF</alpha> <graph_type_id>4</graph_type_id> <consolidation_function_id>1</consolidation_function_id> <cdef_id>0</cdef_id> <value></value> <gprint_id>hash_060021e9c43831e54eca8069317a2ce8c6f751</gprint_id> <text_format>Requests:</text_format> <hard_return></hard_return> <sequence>9</sequence> </hash_1000215f097e55c7ab687d12c5ece5e0c5c831> <hash_100021f457ee12576ad3f5ba36d0ca6bb80ede> <task_item_id>hash_0800212791d488dfb6b474464803abe233d7ef</task_item_id> <color_id>0</color_id> <alpha>FF</alpha> <graph_type_id>9</graph_type_id> <consolidation_function_id>4</consolidation_function_id> <cdef_id>0</cdef_id> <value></value> <gprint_id>hash_060021e9c43831e54eca8069317a2ce8c6f751</gprint_id> <text_format>Current:</text_format> <hard_return></hard_return> <sequence>10</sequence> </hash_100021f457ee12576ad3f5ba36d0ca6bb80ede> <hash_10002127b33c5bf2e09e097c6cc989b5f4c58a> <task_item_id>hash_0800212791d488dfb6b474464803abe233d7ef</task_item_id> <color_id>0</color_id> <alpha>FF</alpha> <graph_type_id>9</graph_type_id> <consolidation_function_id>1</consolidation_function_id> <cdef_id>0</cdef_id> <value></value> <gprint_id>hash_060021e9c43831e54eca8069317a2ce8c6f751</gprint_id> <text_format>Avg:</text_format> <hard_return></hard_return> <sequence>11</sequence> </hash_10002127b33c5bf2e09e097c6cc989b5f4c58a> <hash_1000217ddb167861fc158c3a7950eee1eadfc9> <task_item_id>hash_0800212791d488dfb6b474464803abe233d7ef</task_item_id> <color_id>0</color_id> <alpha>FF</alpha> <graph_type_id>9</graph_type_id> <consolidation_function_id>3</consolidation_function_id> <cdef_id>0</cdef_id> <value></value> <gprint_id>hash_060021e9c43831e54eca8069317a2ce8c6f751</gprint_id> <text_format>Max:</text_format> <hard_return>on</hard_return> <sequence>12</sequence> </hash_1000217ddb167861fc158c3a7950eee1eadfc9> <hash_1000216e177d45cfe5a3e9bc4eb5f9b5b5eb90> <task_item_id>hash_0800213b832f9cba86e201cd5a74318b0c8454</task_item_id> <color_id>FF0000</color_id> <alpha>FF</alpha> <graph_type_id>4</graph_type_id> <consolidation_function_id>1</consolidation_function_id> <cdef_id>0</cdef_id> <value></value> <gprint_id>hash_060021e9c43831e54eca8069317a2ce8c6f751</gprint_id> <text_format>Rt:</text_format> <hard_return></hard_return> <sequence>13</sequence> </hash_1000216e177d45cfe5a3e9bc4eb5f9b5b5eb90> <hash_1000215725c9cdf5d42b6e343b5f4697804ad1> <task_item_id>hash_0800213b832f9cba86e201cd5a74318b0c8454</task_item_id> <color_id>0</color_id> <alpha>FF</alpha> <graph_type_id>9</graph_type_id> <consolidation_function_id>4</consolidation_function_id> <cdef_id>0</cdef_id> <value></value> <gprint_id>hash_060021e9c43831e54eca8069317a2ce8c6f751</gprint_id> <text_format>Current:</text_format> <hard_return></hard_return> <sequence>14</sequence> </hash_1000215725c9cdf5d42b6e343b5f4697804ad1> <hash_1000211d2be4d50c68750ed1ea13ec435f13e5> <task_item_id>hash_0800213b832f9cba86e201cd5a74318b0c8454</task_item_id> <color_id>0</color_id> <alpha>FF</alpha> <graph_type_id>9</graph_type_id> <consolidation_function_id>1</consolidation_function_id> <cdef_id>0</cdef_id> <value></value> <gprint_id>hash_060021e9c43831e54eca8069317a2ce8c6f751</gprint_id> <text_format>Avg:</text_format> <hard_return></hard_return> <sequence>15</sequence> </hash_1000211d2be4d50c68750ed1ea13ec435f13e5> <hash_100021183ae753e27d28d8607b68ef7617e342> <task_item_id>hash_0800213b832f9cba86e201cd5a74318b0c8454</task_item_id> <color_id>0</color_id> <alpha>FF</alpha> <graph_type_id>9</graph_type_id> <consolidation_function_id>3</consolidation_function_id> <cdef_id>0</cdef_id> <value></value> <gprint_id>hash_060021e9c43831e54eca8069317a2ce8c6f751</gprint_id> <text_format>Max:</text_format> <hard_return>on</hard_return> <sequence>16</sequence> </hash_100021183ae753e27d28d8607b68ef7617e342> </items> <inputs> <hash_09002117add52492a065cdd7abb50ea89c4c96> <name>Data Source \[nginx_accepts\]</name> <description></description> <column_name>task_item_id</column_name> <items>hash_000021c4e5c5bff13fa014835a58f0afa52839|hash_00002199f3d6ea10e2dd9ec781da06e6842ea7|hash_000021fccbc67b30290bde7df75ed3b421e7de|hash_00002142f34addd922328413beb2798281f2bb</items> </hash_09002117add52492a065cdd7abb50ea89c4c96> <hash_090021dfa9a67c325da545b0ee928fe920b2bf> <name>Data Source \[nginx_handled\]</name> <description></description> <column_name>task_item_id</column_name> <items>hash_00002196b0c4967a97e35e016f44e76492e993|hash_000021f0c5e45def97c9d37ba3e8a1e9c8df0a|hash_0000218b3b96978766aca9da12d15345f1bccb|hash_000021061507df9ab92c7ae2d09b5f50a0bf67</items> </hash_090021dfa9a67c325da545b0ee928fe920b2bf> <hash_0900219b11ad285b24ad904f0c7057e7980004> <name>Data Source \[nginx_requests\]</name> <description></description> <column_name>task_item_id</column_name> <items>hash_0000215f097e55c7ab687d12c5ece5e0c5c831|hash_000021f457ee12576ad3f5ba36d0ca6bb80ede|hash_00002127b33c5bf2e09e097c6cc989b5f4c58a|hash_0000217ddb167861fc158c3a7950eee1eadfc9</items> </hash_0900219b11ad285b24ad904f0c7057e7980004> <hash_09002128ebd13668327f56a71dc853f3c9b1a0> <name>Data Source \[nginx_requests_time\]</name> <description></description> <column_name>task_item_id</column_name> <items>hash_0000216e177d45cfe5a3e9bc4eb5f9b5b5eb90|hash_0000215725c9cdf5d42b6e343b5f4697804ad1|hash_0000211d2be4d50c68750ed1ea13ec435f13e5|hash_000021183ae753e27d28d8607b68ef7617e342</items> </hash_09002128ebd13668327f56a71dc853f3c9b1a0> </inputs> </hash_000021dca2bc381d19c91ceb1603b5062c83e2> <hash_010021e0657ab786701649f57bdd91b48a2f14> <name>Nginx Clients Stat</name> <ds> <t_name></t_name> <name>|host_description| - Nginx Clients Stat</name> <data_input_id>hash_030021960615ed5ce72756b8e7a787439d0a2d</data_input_id> <t_rra_id></t_rra_id> <t_rrd_step></t_rrd_step> <rrd_step>300</rrd_step> <t_active></t_active> <active>on</active> <rra_items>hash_150021c21df5178e5c955013591239eb0afd46|hash_1500210d9c0af8b8acdc7807943937b3208e29|hash_1500216fc2d038fb42950138b0ce3e9874cc60|hash_150021e36f3adb9f152adfa5dc50fd2b23337e|hash_150021283ea2bf1634d92ce081ec82a634f513</rra_items> </ds> <items> <hash_0800216aa36fa51315e2d6d15b708307f2c53c> <t_data_source_name></t_data_source_name> <data_source_name>nginx_active</data_source_name> <t_rrd_minimum></t_rrd_minimum> <rrd_minimum>0</rrd_minimum> <t_rrd_maximum></t_rrd_maximum> <rrd_maximum>0</rrd_maximum> <t_data_source_type_id></t_data_source_type_id> <data_source_type_id>1</data_source_type_id> <t_rrd_heartbeat></t_rrd_heartbeat> <rrd_heartbeat>600</rrd_heartbeat> <t_data_input_field_id></t_data_input_field_id> <data_input_field_id>hash_070021cccbd578f0c2868c1e0a6f5f3329fc0b</data_input_field_id> </hash_0800216aa36fa51315e2d6d15b708307f2c53c> <hash_080021729d4b3fa3813f2974ce01b29ca6850e> <t_data_source_name></t_data_source_name> <data_source_name>nginx_reading</data_source_name> <t_rrd_minimum></t_rrd_minimum> <rrd_minimum>0</rrd_minimum> <t_rrd_maximum></t_rrd_maximum> <rrd_maximum>0</rrd_maximum> <t_data_source_type_id></t_data_source_type_id> <data_source_type_id>1</data_source_type_id> <t_rrd_heartbeat></t_rrd_heartbeat> <rrd_heartbeat>600</rrd_heartbeat> <t_data_input_field_id></t_data_input_field_id> <data_input_field_id>hash_0700212520eb79ec6e083c89a1056140fd741b</data_input_field_id> </hash_080021729d4b3fa3813f2974ce01b29ca6850e> <hash_08002175698c6bd226db0b7cd67089e651f382> <t_data_source_name></t_data_source_name> <data_source_name>nginx_writing</data_source_name> <t_rrd_minimum></t_rrd_minimum> <rrd_minimum>0</rrd_minimum> <t_rrd_maximum></t_rrd_maximum> <rrd_maximum>0</rrd_maximum> <t_data_source_type_id></t_data_source_type_id> <data_source_type_id>1</data_source_type_id> <t_rrd_heartbeat></t_rrd_heartbeat> <rrd_heartbeat>600</rrd_heartbeat> <t_data_input_field_id></t_data_input_field_id> <data_input_field_id>hash_070021170a796e21241e35063ecf3a62a62269</data_input_field_id> </hash_08002175698c6bd226db0b7cd67089e651f382> <hash_08002150e895b90a6d17b7a212997b7cb1afba> <t_data_source_name></t_data_source_name> <data_source_name>nginx_waiting</data_source_name> <t_rrd_minimum></t_rrd_minimum> <rrd_minimum>0</rrd_minimum> <t_rrd_maximum></t_rrd_maximum> <rrd_maximum>0</rrd_maximum> <t_data_source_type_id></t_data_source_type_id> <data_source_type_id>1</data_source_type_id> <t_rrd_heartbeat></t_rrd_heartbeat> <rrd_heartbeat>600</rrd_heartbeat> <t_data_input_field_id></t_data_input_field_id> <data_input_field_id>hash_070021cf6292f045b8cec3ec1784f559d5883e</data_input_field_id> </hash_08002150e895b90a6d17b7a212997b7cb1afba> </items> <data> <item_000> <data_input_field_id>hash_0700218cd1791fab89b88a3ff3ca112c6534b7</data_input_field_id> <t_value>on</t_value> <value>http://|host|/server-status</value> </item_000> </data> </hash_010021e0657ab786701649f57bdd91b48a2f14> <hash_010021616fb6fb1f1680db7189868d258b765f> <name>Nginx New Sockets Stat</name> <ds> <t_name></t_name> <name>|host_description| - Nginx New Sockets Stat</name> <data_input_id>hash_03002149705386e433946082cb113112b9659e</data_input_id> <t_rra_id></t_rra_id> <t_rrd_step></t_rrd_step> <rrd_step>300</rrd_step> <t_active></t_active> <active>on</active> <rra_items>hash_150021c21df5178e5c955013591239eb0afd46|hash_1500210d9c0af8b8acdc7807943937b3208e29|hash_1500216fc2d038fb42950138b0ce3e9874cc60|hash_150021e36f3adb9f152adfa5dc50fd2b23337e</rra_items> </ds> <items> <hash_0800213b832f9cba86e201cd5a74318b0c8454> <t_data_source_name></t_data_source_name> <data_source_name>nginx_requests_time</data_source_name> <t_rrd_minimum></t_rrd_minimum> <rrd_minimum>0</rrd_minimum> <t_rrd_maximum></t_rrd_maximum> <rrd_maximum>0</rrd_maximum> <t_data_source_type_id></t_data_source_type_id> <data_source_type_id>1</data_source_type_id> <t_rrd_heartbeat></t_rrd_heartbeat> <rrd_heartbeat>600</rrd_heartbeat> <t_data_input_field_id></t_data_input_field_id> <data_input_field_id>hash_0700219bc1b272b4e3019fbc0f32f9661f79a9</data_input_field_id> </hash_0800213b832f9cba86e201cd5a74318b0c8454> <hash_0800212791d488dfb6b474464803abe233d7ef> <t_data_source_name></t_data_source_name> <data_source_name>nginx_requests</data_source_name> <t_rrd_minimum></t_rrd_minimum> <rrd_minimum>0</rrd_minimum> <t_rrd_maximum></t_rrd_maximum> <rrd_maximum>0</rrd_maximum> <t_data_source_type_id></t_data_source_type_id> <data_source_type_id>3</data_source_type_id> <t_rrd_heartbeat></t_rrd_heartbeat> <rrd_heartbeat>600</rrd_heartbeat> <t_data_input_field_id></t_data_input_field_id> <data_input_field_id>hash_0700211be81ce0f8d85ea2a47ef92e3d2aba46</data_input_field_id> </hash_0800212791d488dfb6b474464803abe233d7ef> <hash_080021d0687854b0fc4cfa9f739d52eeed7944> <t_data_source_name></t_data_source_name> <data_source_name>nginx_handled</data_source_name> <t_rrd_minimum></t_rrd_minimum> <rrd_minimum>0</rrd_minimum> <t_rrd_maximum></t_rrd_maximum> <rrd_maximum>0</rrd_maximum> <t_data_source_type_id></t_data_source_type_id> <data_source_type_id>3</data_source_type_id> <t_rrd_heartbeat></t_rrd_heartbeat> <rrd_heartbeat>600</rrd_heartbeat> <t_data_input_field_id></t_data_input_field_id> <data_input_field_id>hash_07002153a02dd9a224657e030a82c77689899d</data_input_field_id> </hash_080021d0687854b0fc4cfa9f739d52eeed7944> <hash_080021fa92c49c5bd4360018b39053964860ad> <t_data_source_name></t_data_source_name> <data_source_name>nginx_accepts</data_source_name> <t_rrd_minimum></t_rrd_minimum> <rrd_minimum>0</rrd_minimum> <t_rrd_maximum></t_rrd_maximum> <rrd_maximum>0</rrd_maximum> <t_data_source_type_id></t_data_source_type_id> <data_source_type_id>3</data_source_type_id> <t_rrd_heartbeat></t_rrd_heartbeat> <rrd_heartbeat>600</rrd_heartbeat> <t_data_input_field_id></t_data_input_field_id> <data_input_field_id>hash_0700213b78c38f0571e68fb18cab9cb906b4aa</data_input_field_id> </hash_080021fa92c49c5bd4360018b39053964860ad> </items> <data> <item_000> <data_input_field_id>hash_0700210ca81cc6c7c4a33bec63ea4f25cb2d1d</data_input_field_id> <t_value>on</t_value> <value>http://|host|/server-status</value> </item_000> </data> </hash_010021616fb6fb1f1680db7189868d258b765f> <hash_030021960615ed5ce72756b8e7a787439d0a2d> <name>nginx clients stat</name> <type_id>1</type_id> <input_string>/usr/bin/perl &lt;path_cacti&gt;/scripts/get_nginx_clients_status.pl &lt;stub_status_url&gt;</input_string> <fields> <hash_0700218cd1791fab89b88a3ff3ca112c6534b7> <name>URL of nginx stub status</name> <update_rra></update_rra> <regexp_match></regexp_match> <allow_nulls></allow_nulls> <type_code></type_code> <input_output>in</input_output> <data_name>stub_status_url</data_name> </hash_0700218cd1791fab89b88a3ff3ca112c6534b7> <hash_070021cccbd578f0c2868c1e0a6f5f3329fc0b> <name>nginx_active</name> <update_rra>on</update_rra> <regexp_match></regexp_match> <allow_nulls></allow_nulls> <type_code></type_code> <input_output>out</input_output> <data_name>nginx_active</data_name> </hash_070021cccbd578f0c2868c1e0a6f5f3329fc0b> <hash_0700212520eb79ec6e083c89a1056140fd741b> <name>nginx_reading</name> <update_rra>on</update_rra> <regexp_match></regexp_match> <allow_nulls></allow_nulls> <type_code></type_code> <input_output>out</input_output> <data_name>nginx_reading</data_name> </hash_0700212520eb79ec6e083c89a1056140fd741b> <hash_070021170a796e21241e35063ecf3a62a62269> <name>nginx_writing</name> <update_rra>on</update_rra> <regexp_match></regexp_match> <allow_nulls></allow_nulls> <type_code></type_code> <input_output>out</input_output> <data_name>nginx_writing</data_name> </hash_070021170a796e21241e35063ecf3a62a62269> <hash_070021cf6292f045b8cec3ec1784f559d5883e> <name>nginx_waiting</name> <update_rra>on</update_rra> <regexp_match></regexp_match> <allow_nulls></allow_nulls> <type_code></type_code> <input_output>out</input_output> <data_name>nginx_waiting</data_name> </hash_070021cf6292f045b8cec3ec1784f559d5883e> </fields> </hash_030021960615ed5ce72756b8e7a787439d0a2d> <hash_03002149705386e433946082cb113112b9659e> <name>nginx new socket status</name> <type_id>1</type_id> <input_string>/usr/bin/perl &lt;path_cacti&gt;/scripts/new_get_nginx_socket_status.pl &lt;stub_status_url&gt;</input_string> <fields> <hash_0700210ca81cc6c7c4a33bec63ea4f25cb2d1d> <name>URL of nginx stub status</name> <update_rra></update_rra> <regexp_match></regexp_match> <allow_nulls></allow_nulls> <type_code></type_code> <input_output>in</input_output> <data_name>stub_status_url</data_name> </hash_0700210ca81cc6c7c4a33bec63ea4f25cb2d1d> <hash_0700213b78c38f0571e68fb18cab9cb906b4aa> <name>nginx_accepts</name> <update_rra>on</update_rra> <regexp_match></regexp_match> <allow_nulls></allow_nulls> <type_code></type_code> <input_output>out</input_output> <data_name>nginx_accepts</data_name> </hash_0700213b78c38f0571e68fb18cab9cb906b4aa> <hash_07002153a02dd9a224657e030a82c77689899d> <name>nginx_handled</name> <update_rra>on</update_rra> <regexp_match></regexp_match> <allow_nulls></allow_nulls> <type_code></type_code> <input_output>out</input_output> <data_name>nginx_handled</data_name> </hash_07002153a02dd9a224657e030a82c77689899d> <hash_0700211be81ce0f8d85ea2a47ef92e3d2aba46> <name>nginx_requests</name> <update_rra>on</update_rra> <regexp_match></regexp_match> <allow_nulls></allow_nulls> <type_code></type_code> <input_output>out</input_output> <data_name>nginx_requests</data_name> </hash_0700211be81ce0f8d85ea2a47ef92e3d2aba46> <hash_0700219bc1b272b4e3019fbc0f32f9661f79a9> <name>nginx_requests_time</name> <update_rra>on</update_rra> <regexp_match></regexp_match> <allow_nulls></allow_nulls> <type_code></type_code> <input_output>out</input_output> <data_name>nginx_requests_time</data_name> </hash_0700219bc1b272b4e3019fbc0f32f9661f79a9> </fields> </hash_03002149705386e433946082cb113112b9659e> <hash_150021c21df5178e5c955013591239eb0afd46> <name>Daily (5 Minute Average)</name> <x_files_factor>0.5</x_files_factor> <steps>1</steps> <rows>600</rows> <timespan>86400</timespan> <cf_items>1|3</cf_items> </hash_150021c21df5178e5c955013591239eb0afd46> <hash_1500210d9c0af8b8acdc7807943937b3208e29> <name>Weekly (30 Minute Average)</name> <x_files_factor>0.5</x_files_factor> <steps>6</steps> <rows>700</rows> <timespan>604800</timespan> <cf_items>1|3</cf_items> </hash_1500210d9c0af8b8acdc7807943937b3208e29> <hash_1500216fc2d038fb42950138b0ce3e9874cc60> <name>Monthly (2 Hour Average)</name> <x_files_factor>0.5</x_files_factor> <steps>24</steps> <rows>775</rows> <timespan>2678400</timespan> <cf_items>1|3</cf_items> </hash_1500216fc2d038fb42950138b0ce3e9874cc60> <hash_150021e36f3adb9f152adfa5dc50fd2b23337e> <name>Yearly (1 Day Average)</name> <x_files_factor>0.5</x_files_factor> <steps>288</steps> <rows>797</rows> <timespan>33053184</timespan> <cf_items>1|3</cf_items> </hash_150021e36f3adb9f152adfa5dc50fd2b23337e> <hash_150021283ea2bf1634d92ce081ec82a634f513> <name>Hourly (1 Minute Average)</name> <x_files_factor>0.5</x_files_factor> <steps>1</steps> <rows>500</rows> <timespan>14400</timespan> <cf_items>1|3</cf_items> </hash_150021283ea2bf1634d92ce081ec82a634f513> <hash_060021e9c43831e54eca8069317a2ce8c6f751> <name>Normal</name> <gprint_text>%8.2lf %s</gprint_text> </hash_060021e9c43831e54eca8069317a2ce8c6f751>

装修终于差不多了,下面这个就是一个基本流程图,这些都是我跟媳妇共同经历的,真是一把心酸泪啊。

装修流程图

从科尔多瓦开始就算是西班牙的南部地区了,从这里我们去到了格拉纳达。这是一个被山包围的城市,远处居然还有雪山,据说这里冬天是西班牙国内最好的滑雪胜地。另外一个比较好的地应该是北部比利牛斯山附近了。 格拉纳达在天主教的西班牙居然独立存在了几百年,所以这里到处都显示着阿拉伯风格。无论是房屋,还是清真寺,还有阿尔汉布宫,到处都是阿拉伯风格。其实这个就是西班牙的魅力所在,包容了那么多不同的风格。 在格拉纳达碰到了好多好心人,由于之前还没有买到ronda的火车票,所以要找火车站买票去。在公交车上碰到2个好心的老头,给我指出哪里下车,可惜指错了3站。下车后问了下路人,可路人好像也不怎么认识,于是我们只好再往前走,可走着走着,之前路过的那对路人又返回来找我们,说了一堆话,也没听懂,反正就是后来一个老人带我们走了三站路终于到了火车站。这里的人真是非常非常的热心,不知道在国内什么时候可以碰到这样的事情呢?不过我也会试着去帮助别人。将自己的爱心传递给别人。 阿尔汗布宫是格拉纳达最有名的建筑,非常的具有阿拉伯风情,早晨我们从阿尔汗布宫对面的阿尔拜星区远眺了一下这座宫殿,真是非常的雄伟。山间的丛林把整个宫殿包围了起来。而背后的雪山又把它给映衬了出来。而阿尔拜星区的这个有名的犹太区又让我们见识到了白房子,鲜花,绿草。 IMG_7515 这是一个值得一直常住的城市,虽然小,但是很精致的城市。在我们离开这个城市的那天,刚好是当地的某个节日,整个街道都是花车巡游,也有很多骑着马的男男女女,貌似是一个佛拉门哥相关的节日,因为大家都穿着那种特殊的演出服装。 IMG_7626 一早我们两由于整个市中心禁止汽车通行,我们只好拉着行李直接走到了火车站。火车载着我们慢悠悠的到了下一个目的地ronda。世界十大私奔之地啊,壮美的风景。

离开托莱多,来到了鲜花之城科尔多瓦。这里以前肯定有很多犹太人,果然这里有很多犹太人的房子可以供参观。白色的墙壁,黄色的房顶,每家每户的阳台上都用鲜花和绿植装扮着,以显示主人不同的风格。美丽的石板街道,蓝蓝的天空,生活在这里真是很惬意。只是千万别住临街的,不知道为什么这边晚上挺多人开摩托车兜风的,一直到半夜2,3点才会结束。 来到科尔多瓦的那天,那天气温高达37度,都快晒死我了。而可怜的小马车居然还要在高温下做生意。   可是那么热的天,在犹太人的地窖里居然还是那么的凉快,居然还在这里发现了来自中国的纺纱机。而犹太人之所以这么的富有,很大程度上是他们对于教育的重视。 这里有很多民居都可以参观,而每家的小庭院都是布置的很有特色,据说我们来的时候这边刚举行完各家的庭院布置比赛。 从托莱多来到科尔多瓦也算折腾,居然没有直接到的火车。于是不得不一早从托莱多坐大巴赶回到马德里,然后从马德里坐上西班牙高铁到达了科尔多瓦。这个西班牙高铁最高速度在270KM/H,还没天朝的快呢,这一路上也看到西班牙的铁路线也大多在完善中。这也是我们来了西班牙第一次坐的火车。

第三天我们去了小城托莱多,这个是古代西班牙的首都,而这个同样也是山上的城市。而这个城市是三面环河,一面是高山,而说是小城,其实真是一个小城,但是比赛戈维亚稍微大一点,毕竟是首都麻,看看他们古代的战争得有多频繁啊,不然干嘛要把首都搁这种地方啊,看看我们天朝的古代首都都是放在平原上。   小城托莱多里有很宏伟的教堂,另外一个就是古堡。这是来西班牙仔细看的第一个教堂,因为它是以前西班牙的首都,所以教堂内自然有很多内容。 而在这里我们也看到示威的人群,真是在哪里都少不了示威的人啊,感觉那是西班牙人生活的一部分。当然每个游行和示威的目的都是不一样的,有的是为了失业,有的抗击那么多的游人干扰了他们正常的生活,有的是为了增加本党的党员,有的是为了抗议政府削减预算。当然表现形式大多都是很平和的,有的就在广场摆开阵势就好了,难得有跟巴塞罗那那样影响到正常的交通,当然更没有暴力冲突。 而由于今天晚上也是住在这个小城里,我们难得进行了一次夜游小城,在这里也发现了西班牙人开的商店居然都早早的关门了,晚上9点就没啥商店开门了。在西班牙每个城市都有华人的商店。 本来觉得在山里,那这里的居民开的车应该都是越野吧,可真奇怪,不光这里,连其他城市大部分人开的都是小车,类似POLO,A1这种的小车,真是NB,在有些坡度我看都到35度40度了,他们居然还开的很自如,不光开的自如,还在上面停满好多车。 看来我买车也不用大车了,小POLO还是很OK的。 在西班牙我居然没有看到一辆中国品牌的车,真的是连一辆都没有,而我们隔海的同胞还是很厉害的,kia,hy,toyota,honda,mazda到处都有,而我们不是汽车制造很NB啊,可怎么连一辆都没有。而其他家电也都是日本,韩国同胞以及德国的天下。连他们自己本国的品牌都很少。 在托来多还吃了一顿很正宗的西班牙午餐,有前餐,正餐,甜点,以及饮料,我就叫它为4件套。这可把我给吃撑了,前餐就一大份意大利面加奶酪,正餐是面包加烤牛排,甜点是冰激凌,然后饮料就是矿泉水或者咖啡,一人一共是8.5欧元,换算成人民币是70元吧,估计70元无论在帝都或者魔都可不止啊。也没办法,帝都和魔都的生活开销都已经超越纽约了。

在刚从西班牙回来的,想好好写一个高度总结的游记,可写着写着感觉太生硬了,是我的总结能力和抽象能力太弱了。 总想把之前看到的和所想的能高度总结成3-4个词汇来进行表示。这实在是太难了对于我来说。 首先这是一个西方的国度,之前从来没有去过,虽然看过林达的《西班牙旅行笔记》可人家也是去了多次才写出来的,而且其实里面也都是一个个城市说过来的,一段段历史说过来的。 于是我现在也是写成了一个个城市的历程,也都是流水帐加一点小总结。 其实这种想要高度总结真的是不可取的。 一个国家的形态肯定是多种多样的,每一个国民也是不一样的。因为只要是民主国家,那每个国民肯定是不一样的,而只有某些国家的国民所呈现出来的都是完全一致的,就跟每天晚上7点所有卫视放的都一样。 想着想着我就对自己的流水帐释然了。但是什么时候需要总结和抽象呢? 文科不行就只能是理工科的了。看来码农就是码农啊,老想着总结和抽象。

第2天去赛戈维亚的路上经历了一次堵车,因为是前面一个交通事故,这个也是西班牙旅行中我们经历的唯一一次堵车。这次旅途中见到了西班牙中部壮丽的山川,山上都是绿草和绿树铺垫着,可以看到牛和马在上面悠闲的吃着草,在有的山头还能看到巨大的塑像,我也不知道是谁。 赛戈维亚最有名的是当地的罗马时代的输水墙,这个墙现在还是保存的很好,但是让我诧异的是当地政府居然没有把这个给围起来然后卖票收费,难道他们不怕很多在上面刻上”xx到此一游”吗? 但是墙上确实都没有人在上面刻字。   这个输水墙的尽头就是塞戈维亚城堡,这个没有进去,倒不是觉得这个不好,是因为我知道后面的旅途中有更好的城堡可以参观,那个美丽的伊斯兰城堡。 西班牙这边路上我们都可以看到街边艺术家,但是在塞戈维亚这个是我觉得挺不错的一个,而且人数也众多啊。 同时最让人丢人的是我居然被一个教堂的工作人员给赶出来了,以后每次去教堂我都要问好能否拍照,可后面再著名的教堂都可以拍照,只是不能打闪光灯而已。   赛戈维亚这是一个山上的城市,非常小,山旁边是广袤的农村,说是广袤的农村,也就几间小屋点缀在广袤的农田里。山上其实是一个大城堡,而这些城堡经过了几百年居然还依然屹立不倒,按理西班牙经历过那么多次的战争。这就是人家的战争跟我们的不同了,我们这边有伟大的游击战,把人民也拖入到战争中,导致最后的巷战把什么都给打没了。于是天朝留下的人文遗迹少之又少,所以要非常感谢傅作义能够主动投降,不然估计也看不到现在的故宫啥了。 赛戈维亚另外一个让我印象深刻的是这里碧蓝碧蓝的天空,经常我都跟媳妇说,我的相机是不是有问题啊,怎么这拍出来的天是那么的蓝啊,可看着也不是非常蓝啊,也许是空气中的浮尘在相机这种高精度的仪器中的不同展现吧。

如果旅行的意思是为了尝试不同地区的生活方式,感受不同的风情,那我们的西班牙旅行是完全达到了这个意义。 西班牙历史上被很多国家侵略过,有阿拉伯人,有哥特人,有罗马人,而征服的遗迹还依然保留在西班牙社会的各个角落中。而其南部,中部,东部不同的风情让我感觉这里可不止有56个民族啊。 老实说出了马德里机场,没有让我眼前一亮的感觉,对于一个从来没有出过国的土鳖,心想着这国外的机场应该比我们先进很多吧,可居然感觉还没有首都机场和香港机场好呢。由于要下飞机等行李,在旁边坐着就。看见一个机场行李车管理员不紧不慢的整理着行李车,拉着行李车走着走着发现后面好像还漏掉了行李车,于是又不紧不慢的回去推行李车,然后又不紧不慢的再去后面到处走走看看有没有遗留掉的,看了大概2分钟发现没有,于是又拉着一堆行李车往前走了。 这是西班牙给我的第一个印象,从容,爱好自己的工作。不象我朝大家都是在拼命的赶路啊,没有办法,一步没跟上就可能饿死。 坐地铁,发现马德里的地铁涨钱了,跟以前网上看的价格不一样了,于是就在我们走后爆发了巴塞罗那大罢工抗议马德里地铁涨价了。要是我朝也允许这种大罢工和大游行,那我们几乎没有上班的时候了。 这里的地铁很不一样,那个列车门开和关都需要你人工去控制的,在天朝帝都和魔都的朋友肯定不明白,这不是脱裤子放屁多此一举啊,可这里地铁人少啊,也许这样做可以更省电吧。这里的换乘也还行,虽然没有香港那种方便,但是真心比帝都的要好很多,特别是帝都的西直门换乘站真是NB大发了。 终于到了马德里的城里,出来透口气,发现现在早上7点30分,这个空气真是好啊,这个天真是蓝啊,街边基本没有什么人啊。很顺利的找到旅馆。 一切安顿好之后来到了马德里最大的广场-马约尔广场,其实马约尔的意思就是大的意思,西班牙每个城市都有这个名字的广场。进去一看,怎么回事,就这点地也叫大,跟帝都天安门真是差太远了。去旁边小店吃了西班牙特色早餐,油条沾巧克力。据说这个店都开了有100多年了,可感觉装修还是跟当年年一样啊,店里的工作人员都是中年男性和老年男性。

由于刚好是周日,所以这边有一个大早市,早市的内容不象北京以蔬菜水果为主,这边以衣服,瓷器这种生活用品为主,也看到了很多的街头行为艺术,老实说水平都很高超,害的我们老是要判断这个到底是行为艺术还是雕塑作品。看完了有趣的早市,还是对这边的物价水平不够了解,接着就去了dia超市,也就是我们说的迪亚天天,dia在西班牙语中应该就是天天的意思吧。

买了1.5升的矿泉水和1.25升的芬达,合计花了1.2欧元,这个价格比天朝还是小贵了点,但是比我之前想着把欧元当人民币花还是便宜不少,特别是有些东西比香港还便宜许多。这里的人民应该感觉生活很幸福啊,因为之前看水木,这边平均月薪在2000多欧元。除了最后一次买回家的东西,我们在这边的超市花销从来没有超过10欧元。这比天朝带100块上超市花费的可爽。 中午去了索菲亚艺术馆旁边的餐厅吃了tapas,所谓tapas就是小吃的意思,我们吃了炸小鱿鱼,炸茄子,炸。。。这边的特色就是把什么东西都用橄榄油炸一下就吃。另外一个就是只要是午餐和晚餐,都会附送几块面包作为主食。当然有的餐厅送的面包还很有特色,但是每家给的面包还真的都不一样。

阅读全文 »

为了准备去香港和西班牙蜜月旅行,由于我们属于穷游,所以事事都要靠自己去办理,下面就是我们办理的一个过程。 1. 回户口所在地的出入境管理处办理港澳通行证(签证需要7个工作日)和护照(15个工作日)。这个通行证好像是100元,香港签注是20元,护照是20元,具体问下当地出入境管理处。当然要填写一堆表格,带好你的户口本,身份证以及复印件,还有护照照片N张。 2. 跟公司请假。 3. 购买去香港和西班牙的往返机票,有些国家可以不事先买好,但是至少去申根国家是必须的。我们买的是南航和国航的,主要是没坐过A380以及可以直达。并打印好旅客行程单。 4. 公司开出请假证明和薪资证明,盖上公司公章和公司人事部门负责人签字。特别注意是需要英文的这个是。 5. 购买境外旅行保险,申根国家是必须大于30万保额。我们买的是平安的,现在基本都可以网上进行购买。也会快递给你保单,也可以自己打印PDF文档, 保单的时间要覆盖整个旅行时间,最好前后再多1-2天最好。 6. 如果需要在当地的交通工具上过夜,那需要预订好相关交通票,并打印出来。我们之前就是一个需要在火车上过夜,所以去了www.renfe.com上定了火车票,为了定这个,我提前几个月还办好了双币信用卡,兴业的双币和3D验证还是很给力的。 7. 预订好当地的酒店,需要包含每一天。这个我们是去booking.com上预订的,基本都可以免费退订,而且只有到了住宿当天才通过信用卡缴费。不需要在网上事先缴费。然后打印住宿单。 8. 书写中英文的行程单,包含每一天去哪里,住哪里,玩什么地方写个大概就成。 9. 给领事馆签证处发送预约面签时间的邮件。 邮件内容需要包含自己的名字,护照号, 签证类型,签证覆盖的时间, 希望面签的时间(这个是最近3个月内的时间) 10. 去银行打印自己最近1年银行流水和存款证明,存款需要3个月以上的5万元的定期存款。这些都要银行盖章才行,四大行里工行和中行开证明是要收费的,建行和农行未知,但是中信,浦发,招行都是免费的。 11. 签证处回复邮件离的申根签证申请表需要用英文填写完整。并复印填写的首页,贴好照片复印。 12. 复印好身份证(正反面都要),户口本(有字的页都要), 港澳通行证复印件(有字的页都要复印),结婚证和结婚证复印件 13. 带好上面的复印件,行程单,机票行程单,护照,照片2张,住宿预定单,存款证明和流水证明去约定的时间面签。这个只要资料齐全很快就能过的。一般旅行签证比较容易。毕竟你是给他们带钱去的。如果是工作和居住签证就难了应该,毕竟是跟人家抢饭碗去了。 14. 面签结束后会在你的首页复印件上盖上什么时候取护照和签证,如果需要补交资料,需要在10天内交齐,如果有其他情况可以跟领事处协商。 15. 上门取签证。在上面那个时间的1个月时间内只要是工作日都可以取。 好了,上面这些其实只是签证这一个环节。后面还有旅游景点的规划,各个旅游景点之间的交通工具,午餐晚餐如何解决。

0%