码农网是专业服务站长和IDC商的信息平台,欢迎你浏览!

Kafka多节点分布式集群搭建实现过程详解

时间:2020-11-12 11:27:37 阅读:7099次 来源:互联网

本篇来分享一下多节点分布式集群搭建方法。多节点分布式集群结构如下图所示:

Kafka多节点分布式集群搭建实现过程详解

为了方便查阅,本篇将和上一篇一样从零开始一步一步进行集群搭建。

一、安装Jdk

具体安装步骤可参考linux安装jdk

二、安装与配置zookeeper

下载地址:https://www-us.apache.org/dist/zookeeper/stable/

下载二进制压缩包zookeeper-3.4.14.tar.gz,然后上传到linux服务器指定目录下,本次上传目录为/software,然后执行如下命令安装:

cd /software
tar -zxvf zookeeper-3.4.14.tar.gz
mv zookeeper-3.4.14 /usr/local/zookeeper
cd /usr/local/zookeeper/conf
mv zoo_sample.cfg zoo1.cfg

编辑zoo1.cfg,配置相关参数如下:

tickTime=2000
initLimit=5
syncLimit=2
dataDir=/usr/local/zookeeper/data/zookeeper1
clientPort=2181
server.1=192.168.184.128:2888:3888
server.2=192.168.184.128:2889:3889
server.3=192.168.184.128:2890:3890

其中:

tickTime:Zookeeper最小的时间单位,用于丈量心跳和超时时间,一般设置默认值2秒;

initLimit:指定follower节点初始时连接leader节点的最大tick此处,设置为5,表示follower必须在5xtickTime即10秒内连接上leader,否则视为超时;

syncLimit:设定follower节点与leader节点进行同步的最大时间,设置为2,表示最大时间为2xtickTime即4秒时间;

dataDir:Zookeeper会在内存中保存系统快照,并定期写入该路径指定的文件夹中,生产环境需要特别注意该文件夹的磁盘占用情况; 

clientPort:Zookeeper监听客户端连接的端口号,默认为2181,同一服务器上不同实例之间应该有所区别;

server.X=host:port1:port2:此处X的取值范围在1~255之间,必须是全局唯一的且和myid文件中的数字对应(myid文件后面说明),host是各个节点的主机名,port1通常是2888,用于使follower节点连接leader节点,port2通常是3888,用于leader选举,zookeeper在不同服务器上的时候,不同zookeeper服务器的端口号可以重复,在同一台服务器上的时候需要有所区别。

1.配置zoo.cfg文件

单节点安装zookeeper的时候,仅有一份zoo.cfg文件,多节点安装的时候,每个zookeeper服务器就应该有一个zoo.cfg配置文件。如果在一台服务器安装zookeeper多实例集群,则需要在conf目录下分别配置每个实例的zoo.cfg,同时创建每个zookeeper实例自己的数据存储目录。本次在一台服务器上配置多个zookeeper实例,执行如下命令创建数据存储目录并复制配置文件:

mkdir -p /usr/local/zookeeper/data/zookeeper1
mkdir -p /usr/local/zookeeper/data/zookeeper2
mkdir -p /usr/local/zookeeper/data/zookeeper3
cd /usr/local/zookeeper/conf/
cp zoo1.cfg zoo2.cfg
cp zoo1.cfg zoo3.cfg

复制后分别修改zoo2.cfg,zoo3.cfg中的配置,修改后的配置如下:

zoo1.cfg的配置如下:

  Kafka多节点分布式集群搭建实现过程详解

zoo2.cfg的配置如下:

  Kafka多节点分布式集群搭建实现过程详解

zoo3.cfg中的配置如下:

  Kafka多节点分布式集群搭建实现过程详解

2.myid文件创建与配置

前面提到zoo.cfg文件中的server.X中的X应该与myid中的数字相对应。除此之外,myid文件必须存放在每个zookeeper实例的data目录下,对应本次安装应该位于/usr/local/zookeeper/data/zookeeper1,2,3目录下,执行如下命令进行配置:

echo '1' > /usr/local/zookeeper/data/zookeeper1/myid
echo '2' > /usr/local/zookeeper/data/zookeeper2/myid
echo '3' > /usr/local/zookeeper/data/zookeeper3/myid

3.启动zookeeper服务器

使用如下命令启动zookeeper集群:

cd /usr/local/zookeeper/bin/
./zkServer.sh start ../conf/zoo1.cfg
./zkServer.sh start ../conf/zoo2.cfg
./zkServer.sh start ../conf/zoo3.cfg

启动后,使用如下命令查看集群状态:

cd /usr/local/zookeeper/bin/
./zkServer.sh status ../conf/zoo1.cfg./zkServer.sh status ../conf/zoo2.cfg./zkServer.sh status ../conf/zoo3.cfg

回显信息如下:

  Kafka多节点分布式集群搭建实现过程详解

可以看到有两个follower节点,一个leader节点。

三、安装与配置kafka集群

下载地址:http://kafka.apache.org/downloads.html

1.数据目录和配置文件创建

目前最新版本是2.2.0,本次下载2.1.1版本的安装包,然后上传压缩包到服务器指定目录,本次上传目录为/software,然后执行以下命令进行安装:

tar -zxvf kafka_2.12-2.1.1.tgz
mv kafka_2.12-2.1.1 /usr/local/kafka
mkdir -p /usr/local/kafka/logs/kafka1
mkdir -p /usr/local/kafka/logs/kafka2
mkdir -p /usr/local/kafka/logs/kafka3
cd /usr/local/kafka/config/
mv server.properties server1.properties

通过执行上面的命令,我们在/usr/local/kafka/logs文件夹中创建了kafka1,kafka2,kafka3三个文件夹用于存放三个kafka实例的数据,同时将/usr/local/kafka/config/文件夹下的server.properties重命名为server1.properties用于配置kafka的第一个实例。

2.配置属性文件

接下来配置server1.properties文件,主要配置参数如下:

broker.id=1:设置kafka broker的id,本次分别为1,2,3;

delete.topic.enable=true:开启删除topic的开关;

listeners=PLAINTEXT://192.168.184.128:9092:设置kafka的监听地址和端口号,本次分别设置为9092,9093,9094;

log.dirs=/usr/local/kafka/logs/kafka1:设置kafka日志数据存储路径;

zookeeper.connect=192.168.184.128:2181,192.168.184.128:2182,192.168.184.128:2183:设置kafka连接的zookeeper访问地址,集群环境需要配置所有zookeeper的访问地址;

unclean.leader.election.enable=false:为true则代表允许选用非isr列表的副本作为leader,那么此时就意味着数据可能丢失,为false的话,则表示不允许,直接抛出NoReplicaOnlineException异常,造成leader副本选举失败。

zookeeper.connection.timeout.ms=6000:设置连接zookeeper服务器超时时间为6秒。

配置完成后,复制server1.properties两份分别用于配置kafka的第二个,第三个节点:

复制代码代码如下:

cd /usr/local/kafka/config/cp server1.properties server2.propertiescp server1.properties server3.properties

修改修改其中的broker.id 以及listeners、log.dirs的配置为第二个,第三个节点的配置,最终各个配置文件配置如下:

server1.properties配置:

Kafka多节点分布式集群搭建实现过程详解

server2.properties配置:

Kafka多节点分布式集群搭建实现过程详解

server3.properties配置:

Kafka多节点分布式集群搭建实现过程详解

3.启动kafka

通过如下命令启动kafka集群:

cd /usr/local/kafka/bin/
./kafka-server-start.sh -daemon ../config/server1.properties
./kafka-server-start.sh -daemon ../config/server2.properties
./kafka-server-start.sh -daemon ../config/server3.properties

  使用java的命令jps来查看kafka进程:jps |grep -i kafka

  Kafka多节点分布式集群搭建实现过程详解

说明kafak启动正常,至此kafka集群搭建完成。本次使用一台服务器作为演示,如果需要在多个服务器上配置集群,配置方法和以上类似,只是不需要像上面那样配置多个数据目录和配置文件,每台服务器的配置保持相同,并且注意在防火墙配置端口号即可。

最后,如果需要远程访问kafka集群,则需要在防火墙中开通9092、9093、9094端口的访问权限。

四、测试

1.topic创建与删除

首先创建一个测试topic,名为testTopic,为了充分利用3个实例(服务器节点),创建3个分区,每个分区都分配3个副本,命令如下:

cd /usr/local/kafka/bin/
./kafka-topics.sh --zookeeper 192.168.184.128:2181 192.168.184.128:2182 192.168.184.128:2183 --create --topic testTopic --partitions 3 --replication-factor 3

回显Created topic "testTopic".则表明testTopic创建成功。执行如下命令进行验证并查看testTopic的信息:

./kafka-topics.sh --zookeeper 192.168.184.128:2181 192.168.184.128:2182 192.168.184.128:2183 --list testTopic
./kafka-topics.sh --zookeeper 192.168.184.128:2181 192.168.184.128:2182 192.168.184.128:2183 --describe --topic testTopic

以上几条命令回显信息如下:

Kafka多节点分布式集群搭建实现过程详解

接下来测试topic删除,使用如下命令进行删除:

./kafka-topics.sh --zookeeper 192.168.184.128:2181 192.168.184.128:2182 192.168.184.128:2183 --delete --topic testTopic

执行该条命令后,回显信息如下:

Kafka多节点分布式集群搭建实现过程详解

可以看到,testTopic已经被标记为删除,同时第二行提示表明当配置了delete.topic.enable属性为true的时候topic才会删除,否则将不会被删除,本次安装的时候该属性设置的值为true。

2.测试消息发送与消费

首先使用第一步topic创建命令,先创建testTopic这个topic,然后进行消息发送与消费测试。

控制台测试消息发送与消费需要使用kafka的安装目录/usr/local/kafka/bin下的kafka-console-producer.sh来发送消息,使用kafka-console-consumer.sh来消费消息。因此本次打开两个控制台,一个用于执行kafka-console-producer.sh来发送消息,另一个用于执行kafka-console-consumer.sh来消费消息。

消息发送端命令:

cd /usr/local/kafka/bin
./kafka-console-producer.sh --broker-list 192.168.184.128:9092,192.168.184.128:9093,192.168.184.128:9094 --topic testTopic

消息接收端命令:

cd /usr/local/kafka/bin
./kafka-console-consumer.sh --bootstrap-server 192.168.184.128:9092,192.168.184.128:9093,192.168.184.128:9094 --topic testTopic --from-beginning

当发送端和接收端都登录后,在发送端输入需要发送的消息并回车,在接收端可以看到刚才发送的消息:

发送端:

Kafka多节点分布式集群搭建实现过程详解

接收端:

Kafka多节点分布式集群搭建实现过程详解

以上就是简单地生产消息与消费消息的测试,在测试消费消息的时候时候,命令里边加了个参数--from-beginning表示接收该topic从创建开始的所有消息。

3.生产者吞吐量测试

对于任何一个消息引擎而言,吞吐量是一个至关重要的性能指标。对于Kafka而言,它的吞吐量指每秒能够处理的消息数或者字节数。kafka为了提高吞吐量,采用追加写入方式将消息写入操作系统的页缓存,读取的时候从页缓存读取,因此它不直接参与物理I/O操作,同时使用以sendfile为代表的零拷贝技术进行数据传输提高效率。

kafka提供了kafka-producer-perf-test.sh脚本用于测试生产者吞吐量,使用如下命令启动测试:

cd /usr/local/kafka/bin
./kafka-producer-perf-test.sh --topic testTopic --num-records 50000 --record-size 200 --throughput -1 --producer-props bootstrap.servers=192.168.184.128:9092,192.168.184.128:9093,192.168.184.128:9094 acks=-1

Kafka多节点分布式集群搭建实现过程详解

以上回显信息表明这台服务器上每个producer每秒能发送6518个消息,平均吞吐量是1.24MB/s,平均延迟2.035秒,最大延迟3.205秒,平均有50%的消息发送需要2.257秒,95%的消息发送需要3.076秒,99%的消息发送需要3.171秒,99.9%的消息发送需要3.205秒。

4.消费者吞吐量测试

与生产者吞吐量测试类似,kafka提供了kafka-consumer-perf-test.sh脚本用于消费者吞吐量测试,可以执行以下命令进行测试:

cd /usr/local/kafka/bin
./kafka-consumer-perf-test.sh --broker-list 192.168.184.128:9092,192.168.184.128:9093,192.168.184.128:9094 --messages 50000 --topic testTopic

Kafka多节点分布式集群搭建实现过程详解

以上是测试50万条消息的consumer吞吐量,结果表明该consumer在1秒总共消费了9.5366MB消息。

以上就是kafka集群的搭建以及测试,如有错误之处,烦请指正。

参考资料:《Apache kafka实战》

以上就是本文的全部内容,希望对大家的学习有所帮助。

本文地址:https://www.manongw.com/article/258.html

文章来源:转载于博客园,转载网址为https://www.cnblogs.com/fengweiweicoder/p/10841637.html

版权申明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 ezhongheng@126.com 举报,一经查实,本站将立刻删除。

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-08-26 14:04:48 HTTP/2.0 GET : https://www.manongw.com/article/258.html
  2. 运行时间 : 0.088849s [ 吞吐率:11.26req/s ] 内存消耗:4,778.65kb 文件加载:177
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=ae7925cf2f69888d002e6b2c5e79492a
  1. /www/wwwroot/www.manongw.com/public/index.php ( 0.79 KB )
  2. /www/wwwroot/www.manongw.com/vendor/autoload.php ( 0.73 KB )
  3. /www/wwwroot/www.manongw.com/vendor/composer/autoload_real.php ( 1.63 KB )
  4. /www/wwwroot/www.manongw.com/vendor/composer/platform_check.php ( 0.90 KB )
  5. /www/wwwroot/www.manongw.com/vendor/composer/ClassLoader.php ( 15.99 KB )
  6. /www/wwwroot/www.manongw.com/vendor/composer/autoload_static.php ( 14.04 KB )
  7. /www/wwwroot/www.manongw.com/vendor/topthink/think-helper/src/helper.php ( 8.34 KB )
  8. /www/wwwroot/www.manongw.com/vendor/topthink/think-validate/src/helper.php ( 2.19 KB )
  9. /www/wwwroot/www.manongw.com/vendor/symfony/deprecation-contracts/function.php ( 0.99 KB )
  10. /www/wwwroot/www.manongw.com/vendor/symfony/polyfill-mbstring/bootstrap.php ( 8.26 KB )
  11. /www/wwwroot/www.manongw.com/vendor/symfony/polyfill-mbstring/bootstrap80.php ( 9.78 KB )
  12. /www/wwwroot/www.manongw.com/vendor/topthink/think-orm/src/helper.php ( 1.47 KB )
  13. /www/wwwroot/www.manongw.com/vendor/topthink/think-orm/stubs/load_stubs.php ( 0.16 KB )
  14. /www/wwwroot/www.manongw.com/vendor/topthink/framework/src/think/Exception.php ( 1.69 KB )
  15. /www/wwwroot/www.manongw.com/vendor/topthink/think-container/src/Facade.php ( 2.71 KB )
  16. /www/wwwroot/www.manongw.com/vendor/ralouphie/getallheaders/src/getallheaders.php ( 1.60 KB )
  17. /www/wwwroot/www.manongw.com/vendor/symfony/polyfill-intl-normalizer/bootstrap.php ( 0.71 KB )
  18. /www/wwwroot/www.manongw.com/vendor/symfony/polyfill-intl-normalizer/bootstrap80.php ( 0.70 KB )
  19. /www/wwwroot/www.manongw.com/vendor/guzzlehttp/guzzle/src/functions_include.php ( 0.16 KB )
  20. /www/wwwroot/www.manongw.com/vendor/guzzlehttp/guzzle/src/functions.php ( 5.54 KB )
  21. /www/wwwroot/www.manongw.com/vendor/symfony/polyfill-intl-idn/bootstrap.php ( 4.52 KB )
  22. /www/wwwroot/www.manongw.com/vendor/symfony/polyfill-php73/bootstrap.php ( 0.99 KB )
  23. /www/wwwroot/www.manongw.com/vendor/symfony/polyfill-php80/bootstrap.php ( 1.50 KB )
  24. /www/wwwroot/www.manongw.com/vendor/overtrue/socialite/src/Contracts/FactoryInterface.php ( 0.47 KB )
  25. /www/wwwroot/www.manongw.com/vendor/overtrue/socialite/src/Contracts/UserInterface.php ( 1.04 KB )
  26. /www/wwwroot/www.manongw.com/vendor/overtrue/socialite/src/Contracts/ProviderInterface.php ( 2.89 KB )
  27. /www/wwwroot/www.manongw.com/vendor/symfony/polyfill-php81/bootstrap.php ( 0.72 KB )
  28. /www/wwwroot/www.manongw.com/vendor/symfony/var-dumper/Resources/functions/dump.php ( 0.99 KB )
  29. /www/wwwroot/www.manongw.com/vendor/topthink/think-captcha/src/helper.php ( 1.37 KB )
  30. /www/wwwroot/www.manongw.com/vendor/topthink/think-dumper/src/helper.php ( 0.18 KB )
  31. /www/wwwroot/www.manongw.com/vendor/symfony/var-dumper/VarDumper.php ( 3.73 KB )
  32. /www/wwwroot/www.manongw.com/vendor/topthink/framework/src/think/App.php ( 15.30 KB )
  33. /www/wwwroot/www.manongw.com/vendor/topthink/think-container/src/Container.php ( 15.76 KB )
  34. /www/wwwroot/www.manongw.com/vendor/psr/container/src/ContainerInterface.php ( 1.02 KB )
  35. /www/wwwroot/www.manongw.com/app/provider.php ( 0.25 KB )
  36. /www/wwwroot/www.manongw.com/vendor/topthink/framework/src/think/Http.php ( 6.04 KB )
  37. /www/wwwroot/www.manongw.com/vendor/topthink/think-helper/src/helper/Str.php ( 7.29 KB )
  38. /www/wwwroot/www.manongw.com/vendor/topthink/framework/src/think/Env.php ( 4.68 KB )
  39. /www/wwwroot/www.manongw.com/app/common.php ( 2.72 KB )
  40. /www/wwwroot/www.manongw.com/vendor/topthink/framework/src/helper.php ( 18.78 KB )
  41. /www/wwwroot/www.manongw.com/vendor/topthink/framework/src/think/Config.php ( 5.54 KB )
  42. /www/wwwroot/www.manongw.com/config/app.php ( 1.03 KB )
  43. /www/wwwroot/www.manongw.com/vendor/topthink/framework/src/think/facade/Env.php ( 1.67 KB )
  44. /www/wwwroot/www.manongw.com/config/cache.php ( 0.78 KB )
  45. /www/wwwroot/www.manongw.com/config/captcha.php ( 1.13 KB )
  46. /www/wwwroot/www.manongw.com/config/console.php ( 0.23 KB )
  47. /www/wwwroot/www.manongw.com/config/cookie.php ( 0.56 KB )
  48. /www/wwwroot/www.manongw.com/config/database.php ( 2.13 KB )
  49. /www/wwwroot/www.manongw.com/config/filesystem.php ( 0.61 KB )
  50. /www/wwwroot/www.manongw.com/config/lang.php ( 0.91 KB )
  51. /www/wwwroot/www.manongw.com/config/log.php ( 1.35 KB )
  52. /www/wwwroot/www.manongw.com/config/middleware.php ( 0.19 KB )
  53. /www/wwwroot/www.manongw.com/config/oss.php ( 0.44 KB )
  54. /www/wwwroot/www.manongw.com/config/paginate.php ( 0.20 KB )
  55. /www/wwwroot/www.manongw.com/config/route.php ( 1.74 KB )
  56. /www/wwwroot/www.manongw.com/config/session.php ( 0.57 KB )
  57. /www/wwwroot/www.manongw.com/config/trace.php ( 0.34 KB )
  58. /www/wwwroot/www.manongw.com/config/view.php ( 1.04 KB )
  59. /www/wwwroot/www.manongw.com/config/web.php ( 0.89 KB )
  60. /www/wwwroot/www.manongw.com/app/event.php ( 0.25 KB )
  61. /www/wwwroot/www.manongw.com/vendor/topthink/framework/src/think/Event.php ( 7.67 KB )
  62. /www/wwwroot/www.manongw.com/app/service.php ( 0.13 KB )
  63. /www/wwwroot/www.manongw.com/app/AppService.php ( 0.26 KB )
  64. /www/wwwroot/www.manongw.com/vendor/topthink/framework/src/think/Service.php ( 1.64 KB )
  65. /www/wwwroot/www.manongw.com/vendor/topthink/framework/src/think/Lang.php ( 7.35 KB )
  66. /www/wwwroot/www.manongw.com/vendor/topthink/framework/src/lang/zh-cn.php ( 13.70 KB )
  67. /www/wwwroot/www.manongw.com/vendor/topthink/framework/src/think/initializer/Error.php ( 3.31 KB )
  68. /www/wwwroot/www.manongw.com/vendor/topthink/framework/src/think/initializer/RegisterService.php ( 1.33 KB )
  69. /www/wwwroot/www.manongw.com/vendor/services.php ( 0.22 KB )
  70. /www/wwwroot/www.manongw.com/vendor/topthink/framework/src/think/service/PaginatorService.php ( 1.52 KB )
  71. /www/wwwroot/www.manongw.com/vendor/topthink/framework/src/think/service/ValidateService.php ( 0.99 KB )
  72. /www/wwwroot/www.manongw.com/vendor/topthink/framework/src/think/service/ModelService.php ( 2.04 KB )
  73. /www/wwwroot/www.manongw.com/vendor/topthink/think-captcha/src/CaptchaService.php ( 0.52 KB )
  74. /www/wwwroot/www.manongw.com/vendor/topthink/think-multi-app/src/Service.php ( 1.08 KB )
  75. /www/wwwroot/www.manongw.com/vendor/topthink/think-trace/src/Service.php ( 0.77 KB )
  76. /www/wwwroot/www.manongw.com/vendor/topthink/framework/src/think/Middleware.php ( 6.72 KB )
  77. /www/wwwroot/www.manongw.com/vendor/topthink/framework/src/think/initializer/BootService.php ( 0.77 KB )
  78. /www/wwwroot/www.manongw.com/vendor/topthink/think-orm/src/Paginator.php ( 11.86 KB )
  79. /www/wwwroot/www.manongw.com/vendor/topthink/think-validate/src/Validate.php ( 63.20 KB )
  80. /www/wwwroot/www.manongw.com/vendor/topthink/think-orm/src/Model.php ( 23.55 KB )
  81. /www/wwwroot/www.manongw.com/vendor/topthink/think-orm/src/model/concern/Attribute.php ( 21.05 KB )
  82. /www/wwwroot/www.manongw.com/vendor/topthink/think-orm/src/model/concern/AutoWriteData.php ( 4.21 KB )
  83. /www/wwwroot/www.manongw.com/vendor/topthink/think-orm/src/model/concern/Conversion.php ( 6.44 KB )
  84. /www/wwwroot/www.manongw.com/vendor/topthink/think-orm/src/model/concern/DbConnect.php ( 5.16 KB )
  85. /www/wwwroot/www.manongw.com/vendor/topthink/think-orm/src/model/concern/ModelEvent.php ( 2.33 KB )
  86. /www/wwwroot/www.manongw.com/vendor/topthink/think-orm/src/model/concern/RelationShip.php ( 28.29 KB )
  87. /www/wwwroot/www.manongw.com/vendor/topthink/think-helper/src/contract/Arrayable.php ( 0.09 KB )
  88. /www/wwwroot/www.manongw.com/vendor/topthink/think-helper/src/contract/Jsonable.php ( 0.13 KB )
  89. /www/wwwroot/www.manongw.com/vendor/topthink/think-orm/src/model/contract/Modelable.php ( 0.09 KB )
  90. /www/wwwroot/www.manongw.com/vendor/topthink/framework/src/think/Db.php ( 2.88 KB )
  91. /www/wwwroot/www.manongw.com/vendor/topthink/think-orm/src/DbManager.php ( 8.52 KB )
  92. /www/wwwroot/www.manongw.com/vendor/topthink/framework/src/think/Log.php ( 6.28 KB )
  93. /www/wwwroot/www.manongw.com/vendor/topthink/framework/src/think/Manager.php ( 3.92 KB )
  94. /www/wwwroot/www.manongw.com/vendor/psr/log/src/LoggerTrait.php ( 2.69 KB )
  95. /www/wwwroot/www.manongw.com/vendor/psr/log/src/LoggerInterface.php ( 2.71 KB )
  96. /www/wwwroot/www.manongw.com/vendor/topthink/framework/src/think/Cache.php ( 4.92 KB )
  97. /www/wwwroot/www.manongw.com/vendor/psr/simple-cache/src/CacheInterface.php ( 4.71 KB )
  98. /www/wwwroot/www.manongw.com/vendor/topthink/think-helper/src/helper/Arr.php ( 16.63 KB )
  99. /www/wwwroot/www.manongw.com/vendor/topthink/framework/src/think/cache/driver/File.php ( 7.84 KB )
  100. /www/wwwroot/www.manongw.com/vendor/topthink/framework/src/think/cache/Driver.php ( 9.03 KB )
  101. /www/wwwroot/www.manongw.com/vendor/topthink/framework/src/think/contract/CacheHandlerInterface.php ( 1.99 KB )
  102. /www/wwwroot/www.manongw.com/vendor/topthink/framework/src/think/Console.php ( 22.89 KB )
  103. /www/wwwroot/www.manongw.com/app/Request.php ( 0.09 KB )
  104. /www/wwwroot/www.manongw.com/vendor/topthink/framework/src/think/Request.php ( 55.78 KB )
  105. /www/wwwroot/www.manongw.com/app/middleware.php ( 0.31 KB )
  106. /www/wwwroot/www.manongw.com/vendor/topthink/framework/src/think/Pipeline.php ( 2.61 KB )
  107. /www/wwwroot/www.manongw.com/vendor/topthink/think-trace/src/TraceDebug.php ( 3.40 KB )
  108. /www/wwwroot/www.manongw.com/vendor/topthink/framework/src/think/middleware/SessionInit.php ( 1.94 KB )
  109. /www/wwwroot/www.manongw.com/vendor/topthink/framework/src/think/Session.php ( 1.80 KB )
  110. /www/wwwroot/www.manongw.com/vendor/topthink/framework/src/think/session/driver/File.php ( 6.27 KB )
  111. /www/wwwroot/www.manongw.com/vendor/topthink/framework/src/think/contract/SessionHandlerInterface.php ( 0.87 KB )
  112. /www/wwwroot/www.manongw.com/vendor/topthink/framework/src/think/session/Store.php ( 7.12 KB )
  113. /www/wwwroot/www.manongw.com/vendor/topthink/think-multi-app/src/MultiApp.php ( 7.06 KB )
  114. /www/wwwroot/www.manongw.com/vendor/topthink/framework/src/think/Route.php ( 23.73 KB )
  115. /www/wwwroot/www.manongw.com/vendor/topthink/framework/src/think/route/RuleName.php ( 5.75 KB )
  116. /www/wwwroot/www.manongw.com/vendor/topthink/framework/src/think/route/Domain.php ( 2.53 KB )
  117. /www/wwwroot/www.manongw.com/vendor/topthink/framework/src/think/route/RuleGroup.php ( 22.43 KB )
  118. /www/wwwroot/www.manongw.com/vendor/topthink/framework/src/think/route/Rule.php ( 26.95 KB )
  119. /www/wwwroot/www.manongw.com/vendor/topthink/framework/src/think/route/RuleItem.php ( 9.78 KB )
  120. /www/wwwroot/www.manongw.com/app/home/route/app.php ( 1.28 KB )
  121. /www/wwwroot/www.manongw.com/vendor/topthink/framework/src/think/facade/Route.php ( 4.70 KB )
  122. /www/wwwroot/www.manongw.com/vendor/topthink/framework/src/think/route/dispatch/Controller.php ( 4.74 KB )
  123. /www/wwwroot/www.manongw.com/vendor/topthink/framework/src/think/route/Dispatch.php ( 10.44 KB )
  124. /www/wwwroot/www.manongw.com/app/home/controller/Blog.php ( 1.86 KB )
  125. /www/wwwroot/www.manongw.com/app/home/controller/Base.php ( 0.74 KB )
  126. /www/wwwroot/www.manongw.com/app/BaseController.php ( 3.08 KB )
  127. /www/wwwroot/www.manongw.com/app/common/library/Jump.php ( 3.33 KB )
  128. /www/wwwroot/www.manongw.com/vendor/topthink/framework/src/think/facade/Session.php ( 1.79 KB )
  129. /www/wwwroot/www.manongw.com/app/common/model/Users.php ( 0.13 KB )
  130. /www/wwwroot/www.manongw.com/app/common/basics/Models.php ( 1.98 KB )
  131. /www/wwwroot/www.manongw.com/vendor/topthink/think-orm/src/db/connector/Mysql.php ( 5.44 KB )
  132. /www/wwwroot/www.manongw.com/vendor/topthink/think-orm/src/db/PDOConnection.php ( 52.47 KB )
  133. /www/wwwroot/www.manongw.com/vendor/topthink/think-orm/src/db/Connection.php ( 8.39 KB )
  134. /www/wwwroot/www.manongw.com/vendor/topthink/think-orm/src/db/ConnectionInterface.php ( 4.57 KB )
  135. /www/wwwroot/www.manongw.com/vendor/topthink/think-orm/src/db/builder/Mysql.php ( 16.58 KB )
  136. /www/wwwroot/www.manongw.com/vendor/topthink/think-orm/src/db/Builder.php ( 24.06 KB )
  137. /www/wwwroot/www.manongw.com/vendor/topthink/think-orm/src/db/BaseBuilder.php ( 27.50 KB )
  138. /www/wwwroot/www.manongw.com/vendor/topthink/think-orm/src/db/Query.php ( 15.71 KB )
  139. /www/wwwroot/www.manongw.com/vendor/topthink/think-orm/src/db/BaseQuery.php ( 45.13 KB )
  140. /www/wwwroot/www.manongw.com/vendor/topthink/think-orm/src/db/concern/TimeFieldQuery.php ( 7.43 KB )
  141. /www/wwwroot/www.manongw.com/vendor/topthink/think-orm/src/db/concern/AggregateQuery.php ( 3.26 KB )
  142. /www/wwwroot/www.manongw.com/vendor/topthink/think-orm/src/db/concern/ModelRelationQuery.php ( 20.07 KB )
  143. /www/wwwroot/www.manongw.com/vendor/topthink/think-orm/src/db/concern/ParamsBind.php ( 3.66 KB )
  144. /www/wwwroot/www.manongw.com/vendor/topthink/think-orm/src/db/concern/ResultOperation.php ( 7.01 KB )
  145. /www/wwwroot/www.manongw.com/vendor/topthink/think-orm/src/db/concern/WhereQuery.php ( 19.37 KB )
  146. /www/wwwroot/www.manongw.com/vendor/topthink/think-orm/src/db/concern/JoinAndViewQuery.php ( 7.11 KB )
  147. /www/wwwroot/www.manongw.com/vendor/topthink/think-orm/src/db/concern/TableFieldInfo.php ( 2.63 KB )
  148. /www/wwwroot/www.manongw.com/vendor/topthink/think-orm/src/db/concern/Transaction.php ( 2.77 KB )
  149. /www/wwwroot/www.manongw.com/vendor/topthink/framework/src/think/log/driver/File.php ( 5.96 KB )
  150. /www/wwwroot/www.manongw.com/vendor/topthink/framework/src/think/contract/LogHandlerInterface.php ( 0.86 KB )
  151. /www/wwwroot/www.manongw.com/vendor/topthink/framework/src/think/log/Channel.php ( 3.89 KB )
  152. /www/wwwroot/www.manongw.com/vendor/topthink/framework/src/think/event/LogRecord.php ( 1.02 KB )
  153. /www/wwwroot/www.manongw.com/vendor/topthink/framework/src/think/facade/View.php ( 1.70 KB )
  154. /www/wwwroot/www.manongw.com/vendor/topthink/framework/src/think/View.php ( 4.39 KB )
  155. /www/wwwroot/www.manongw.com/app/common/utils/ConfigUtils.php ( 2.45 KB )
  156. /www/wwwroot/www.manongw.com/vendor/topthink/framework/src/think/facade/Cache.php ( 2.06 KB )
  157. /www/wwwroot/www.manongw.com/app/common/model/blog/Blog.php ( 0.28 KB )
  158. /www/wwwroot/www.manongw.com/vendor/topthink/think-orm/src/model/relation/HasOne.php ( 10.50 KB )
  159. /www/wwwroot/www.manongw.com/vendor/topthink/think-orm/src/model/relation/OneToOne.php ( 9.72 KB )
  160. /www/wwwroot/www.manongw.com/vendor/topthink/think-orm/src/model/Relation.php ( 8.04 KB )
  161. /www/wwwroot/www.manongw.com/app/common/model/blog/BlogCate.php ( 0.17 KB )
  162. /www/wwwroot/www.manongw.com/vendor/topthink/think-orm/src/model/LazyCollection.php ( 7.09 KB )
  163. /www/wwwroot/www.manongw.com/vendor/topthink/think-orm/src/db/LazyCollection.php ( 16.41 KB )
  164. /www/wwwroot/www.manongw.com/vendor/topthink/think-orm/src/model/Collection.php ( 7.04 KB )
  165. /www/wwwroot/www.manongw.com/vendor/topthink/think-helper/src/Collection.php ( 16.47 KB )
  166. /www/wwwroot/www.manongw.com/vendor/topthink/think-orm/src/facade/Db.php ( 0.93 KB )
  167. /www/wwwroot/www.manongw.com/vendor/topthink/think-orm/src/db/Express.php ( 1.53 KB )
  168. /www/wwwroot/www.manongw.com/vendor/topthink/think-view/src/Think.php ( 8.38 KB )
  169. /www/wwwroot/www.manongw.com/vendor/topthink/framework/src/think/contract/TemplateHandlerInterface.php ( 1.60 KB )
  170. /www/wwwroot/www.manongw.com/vendor/topthink/think-template/src/Template.php ( 46.61 KB )
  171. /www/wwwroot/www.manongw.com/vendor/topthink/think-template/src/template/driver/File.php ( 2.41 KB )
  172. /www/wwwroot/www.manongw.com/vendor/topthink/think-template/src/template/contract/DriverInterface.php ( 0.86 KB )
  173. /www/wwwroot/www.manongw.com/runtime/home/temp/6baba12f389537b0ca2f4dacbf7d624b.php ( 13.02 KB )
  174. /www/wwwroot/www.manongw.com/vendor/topthink/framework/src/think/Response.php ( 8.81 KB )
  175. /www/wwwroot/www.manongw.com/vendor/topthink/framework/src/think/response/Html.php ( 0.97 KB )
  176. /www/wwwroot/www.manongw.com/vendor/topthink/framework/src/think/Cookie.php ( 6.06 KB )
  177. /www/wwwroot/www.manongw.com/vendor/topthink/think-trace/src/Html.php ( 4.42 KB )
  1. CONNECT:[ UseTime:0.002420s ] mysql:host=127.0.0.1;port=3306;dbname=www_manongw_com;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `ezh_users` [ RunTime:0.002739s ]
  3. SHOW FULL COLUMNS FROM `ezh_blog` [ RunTime:0.001001s ]
  4. SELECT * FROM `ezh_blog` WHERE `id` = 258 LIMIT 1 [ RunTime:0.001104s ]
  5. SHOW FULL COLUMNS FROM `ezh_blog_cate` [ RunTime:0.000767s ]
  6. SELECT * FROM `ezh_blog_cate` WHERE ( `id` = 4 ) ORDER BY `id` DESC LIMIT 1 [ RunTime:0.000594s ]
  7. SELECT * FROM `ezh_blog` WHERE `id` < 258 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.000705s ]
  8. SELECT * FROM `ezh_blog` WHERE `id` > 258 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.000431s ]
  9. SELECT `id`,`title`,`create_time`,`info`,`tags` FROM `ezh_blog` ORDER BY rand() LIMIT 10 [ RunTime:0.008137s ]
  10. SELECT `id`,`title`,`create_time`,`info`,`tags` FROM `ezh_blog` ORDER BY rand() LIMIT 10 [ RunTime:0.003456s ]
  11. UPDATE `ezh_blog` SET `views` = `views` + 1 WHERE `id` = 258 [ RunTime:0.003894s ]
  12. SHOW FULL COLUMNS FROM `ezh_article` [ RunTime:0.001110s ]
  13. SELECT `title`,`id` FROM `ezh_article` ORDER BY `views` DESC LIMIT 15 [ RunTime:0.000453s ]
  14. SELECT `title`,`id` FROM `ezh_blog` ORDER BY `views` DESC LIMIT 15 [ RunTime:0.001923s ]
0.090559s