ab-mruby is a HTTP Benchmark and Test Framework

2013-06-20 Thread MATSUMOTO Ryosuke
Hi, all

I have implemented ab-mruby.

ab-mruby is a HTTP Benchmark and Test Framework based on ab. ab-mruby
embedded mruby into ab command. mruby is a embeddable scripting language
like lua.

You can test and configure ab command options dynamically by mruby script.

https://github.com/matsumoto-r/ab-mruby

I'd like to get your thoughts on it.

Best regards,

-- 
MATSUMOTO Ryosuke  matsu1229 at gmail.com 
http://blog.matsumoto-r.jp/


mod_mruby to provide an alternative to mod_lua

2013-01-20 Thread MATSUMOTO Ryosuke
Hi, all

I'm Ryosuke MATSUMOTO, a Ph.D. student at Okabe Lab,  Network
Media Group Department of Intelligence Science and Technology
Graduate School of Informatics, Kyoto University in Japan.

My English is not very good, but I am studying at the moment to communicate
developers of the world.

I have been developing mod_mruby and ngx_mruby from Apr 2012.

mod_mruby is a web server extension mechanism using embeddable
scripting language mruby which has been attracting attention now.

mod_mruby abstract:
-
As the increase of services using Web servers, the number of incidents
also is increasing rapidly. In order to solve those problems, it is necessary
to extend a functionality of a Web server software.

In case of using Apache, developers are required high coding skill of C
language and internal specifications of Apache in order to extend the
functionality of it.

The development of a web server extension requires some high skills, and
the maintainability is low since that extension need to compile a code.

Therefore, we propose mod_mruby that is a web server extension mechanism
using embeddable scripting language mruby which has been attracting
attention now. mod_mruby allows to extend the functionality of Apache
easily by implementing a mruby script. mod_mruby provides an interface
to hook and execute any mruby scripts in the various phases of processing
requests inside Apache. When hooking mruby scripts, mruby scripts can
process the data of processing requests inside Apache, taking advantage
of the characteristics of a embeddable scripting language for C language.

We have designed that mod_mruby run at high speed by sharing the data
of state transition and the extension library of mruby by multiple
mruby scripts
and using only different byte code each mruby script.

Many developers can implement a web server extension easily by mod_mruby
 in cooperation with coding style of mruby which is the same as object oriented
 programming ruby which is widely used by web developers.
-

see slide share about mod_mruby architecture and performance compared with
mod_lua, mod_per, and a module written by C language.(Sorry in Japanese)

http://www.slideshare.net/matsumoto_r/mrubyweb

and mod_mruby receive some glowing notices bellow uri:

https://plus.google.com/114552443805676710515/posts/Jbh4S3Zsz2S
http://matt.aimonetti.net/posts/2012/04/25/getting-started-with-mruby/
and mod_mruby was referred form the keynote of mruby by Matz like
http://www.everytalk.tv/talks/657-Euroko-Keynote .

see mruby github:

https://github.com/mruby/mruby

mod_mruby allows to extend the functionality of Apache easily.
mod_mruby proveid an alternative to mod_lua.

see mod_mruby github:

https://github.com/matsumoto-r/mod_mruby

- example
-- proxy by mod_mruby
https://github.com/matsumoto-r/mod_mruby/tree/master/example/proxy

-- support redis and auth provide using mruby-redis
https://github.com/matsumoto-r/mod_mruby/blob/master/example/redis

-- support auth provide
https://github.com/matsumoto-r/mod_mruby/tree/master/example/auth

-- support limit control
https://github.com/matsumoto-r/mod_mruby/tree/master/example/limit_control

-- support rewrite
https://github.com/matsumoto-r/mod_mruby/tree/master/example/rewrite

-- support vhosts
https://github.com/matsumoto-r/mod_mruby/tree/master/example/vhost

-- support cgroup using mruby-cgroup
https://github.com/matsumoto-r/mod_mruby/tree/master/example/cgroup

-- support Raspberry Pi (hobby)
https://github.com/matsumoto-r/mod_mruby/tree/master/example/RaspberryPi

and so on..

I write some entry about mod_mruby in my blog (Sorry Japanese)
http://blog.matsumoto-r.jp/

So, How do you feel about mod_mruby? I would appreciate it if you could
give me your opinion.

I'll attend ApacheCon NA 2013 and I'm looking forward to seeing apache
developers!

Best regards,

-- 
MATSUMOTO Ryosuke  matsu1229 at gmail.com 
http://blog.matsumoto-r.jp/


add log_transaction phase for mod_lua

2012-03-30 Thread MATSUMOTO Ryosuke
Hi, all

I wrote a patch to provide a hook for the log_transaction phase of request
processing for mod_lua in apache 2.4.1.

patch url
https://github.com/matsumoto-r/release-code/blob/master/PATCH/log_transaction_mod_lua_for_apache2.4.1.patch

regards,

-- 
MATSUMOTO Ryosuke  matsu1229 at gmail.com 
http://blog.matsumoto-r.jp/
http://www.net.ist.i.kyoto-u.ac.jp/ja/index.php?matsumoto_r


Re: Apache 2.4.1 Throughput compared with nginx

2012-02-29 Thread MATSUMOTO Ryosuke
I entirely agree with you on your comment.

2012/3/1 Jim Jagielski j...@jagunet.com:
 Why even bother... I simply posted a comment and moved on.

 On Feb 28, 2012, at 4:32 PM, Bing Swen wrote:

 Some Nginx people just made a performance test with Apache 2.4.1 at
 http://blog.zhuzhaoyuan.com/category/c10k/
 Were the Event_MPM configuration parameters somewhere close to optimal?

 Regards,
 Bing


 Jim Jagielski [mailto:j...@jagunet.com] wrote on 2012年2月24日 20:57

 w00t!!!

 On Feb 23, 2012, at 5:26 PM, MATSUMOTO Ryosuke wrote:

 Hi all,

 I evaluated the throughput of Apaceh 2.4.1. I compared apache(2.4.1,
 2.2.3) with nginx.
 I used httperf benchmark 0.9.0 to measure thethroughput.

 http://blog.matsumoto-r.jp/?p=1812

 I feel bad about writing this article in Japanese in my hurry ;)

 Regards,
 --
 MATSUMOTO Ryosuke  matsu1229 at gmail.com 
 http://blog.matsumoto-r.jp/






-- 
MATSUMOTO Ryosuke  matsu1229 at gmail.com 
http://blog.matsumoto-r.jp/


Apache 2.4.1 Throughput compared with nginx

2012-02-23 Thread MATSUMOTO Ryosuke
Hi all,

I evaluated the throughput of Apaceh 2.4.1. I compared apache(2.4.1,
2.2.3) with nginx.
I used httperf benchmark 0.9.0 to measure thethroughput.

http://blog.matsumoto-r.jp/?p=1812

I feel bad about writing this article in Japanese in my hurry ;)

Regards,
-- 
MATSUMOTO Ryosuke  matsu1229 at gmail.com 
http://blog.matsumoto-r.jp/


Re: Modules needing the approval of modules-dev@httpd.apache.org

2011-11-24 Thread MATSUMOTO Ryosuke
Just now, I submitted my module.

Please check it.

When submitted my module, it shows accurately on Manage your Modules page.

2011/11/25 Gavin McDonald ga...@16degrees.com.au:


 -Original Message-
 From: MATSUMOTO Ryosuke [mailto:matsu1...@gmail.com]
 Sent: Wednesday, 23 November 2011 4:14 PM
 To: modules-dev@httpd.apache.org; ga...@16degrees.com.au
 Subject: Re: Modules needing the approval of modules-
 d...@httpd.apache.org

  Sorry for delay, can't seem to find it currently, give me another day or
 two
 to check things out.

 OK. If you can't find submitted module, I will submit it again.
 regard,

 Yes please try again.

 Please note the date/time and TZ in case I need to be digging through logs

 What happens when you log in to your acct, does your module not
 show in https://modules.apache.org/modulelist.php ?

 Thanks

 Gav...


 2011/11/22 Gavin McDonald ga...@16degrees.com.au:
 
 
  -Original Message-
  From: MATSUMOTO Ryosuke [mailto:matsu1...@gmail.com]
  Sent: Tuesday, 22 November 2011 4:27 PM
  To: modules-dev@httpd.apache.org
  Subject: Modules needing the approval of modules-
 d...@httpd.apache.org
 
  Hi, all
  I submitted my module to apache module registry on 10 days ago, but
  response is nothing yet.The site is woking now?
  Submitted module name is mod_process_security.
 
 
  Sorry for delay, can't seem to find it currently, give me another day
  or two to check things out.
 
  Gav...
 
 
  https://github.com/matsumoto-r/release-code/tree/master/APACHE-
  MODULE/mod_process_security
 
  Modules needing the approval of modules-dev@httpd.apache.org
  mod_process_security - This module is a suEXEC module for CGI and DSO
  using thread. Improvement of mod_ruid2(vulnerability) and
  suEXEC(performance).
  regards,
  --
  MATSUMOTO Ryosuke  matsu1229 at gmail.com 
 http://blog.matsumoto-
  r.jp/
 
 



 --
 MATSUMOTO Ryosuke  matsu1229 at gmail.com  http://blog.matsumoto-
 r.jp/





-- 
MATSUMOTO Ryosuke  matsu1229 at gmail.com 
http://blog.matsumoto-r.jp/


Re: basic example shared memory code

2011-11-22 Thread MATSUMOTO Ryosuke
mod_vlimit https://modules.apache.org/search.php?id=2570

This module count a number of simultaneous connections on shared memory.

2011/11/22 michaelr my...@freenet.de:
 On Tue, 2011-11-22 at 11:26 +0200, Oğuzhan TOPGÜL wrote:
 Hi guys, I'm trying to learn shared memory and mutex concepts and i need an
 example shared memory apache module code that was written in c.
 I found some codes, but none of them is working properly. I'm using ubuntu
 10.10 as a development environment. Do you have any basic codes like shared
 memory counter or etc.
 If you can send me a working example, i'll be appreciated because i'm very
 very confused and stuck about shared memory concepts. I just need a basic
 example code snippet


 The example module from: http://www.codemass.com/mod_shm_counter/
 helped me a lot understanding the basic concepts of the apr shared
 memory functions.







-- 
MATSUMOTO Ryosuke  matsu1229 at gmail.com 
http://blog.matsumoto-r.jp/


Re: Modules needing the approval of modules-dev@httpd.apache.org

2011-11-22 Thread MATSUMOTO Ryosuke
 Sorry for delay, can't seem to find it currently, give me another day or two 
 to check things out.

OK. If you can't find submitted module, I will submit it again.
regard,

2011/11/22 Gavin McDonald ga...@16degrees.com.au:


 -Original Message-
 From: MATSUMOTO Ryosuke [mailto:matsu1...@gmail.com]
 Sent: Tuesday, 22 November 2011 4:27 PM
 To: modules-dev@httpd.apache.org
 Subject: Modules needing the approval of modules-dev@httpd.apache.org

 Hi, all
 I submitted my module to apache module registry on 10 days ago, but
 response is nothing yet.The site is woking now?
 Submitted module name is mod_process_security.


 Sorry for delay, can't seem to find it currently, give me another day or two
 to
 check things out.

 Gav...


 https://github.com/matsumoto-r/release-code/tree/master/APACHE-
 MODULE/mod_process_security

 Modules needing the approval of modules-dev@httpd.apache.org
 mod_process_security - This module is a suEXEC module for CGI and DSO
 using thread. Improvement of mod_ruid2(vulnerability) and
 suEXEC(performance).
 regards,
 --
 MATSUMOTO Ryosuke  matsu1229 at gmail.com  http://blog.matsumoto-
 r.jp/





-- 
MATSUMOTO Ryosuke  matsu1229 at gmail.com 
http://blog.matsumoto-r.jp/


Modules needing the approval of modules-dev@httpd.apache.org

2011-11-21 Thread MATSUMOTO Ryosuke
Hi, all
I submitted my module to apache module registry on 10 days ago, but
response is nothing yet.The site is woking now?
Submitted module name is mod_process_security.

https://github.com/matsumoto-r/release-code/tree/master/APACHE-MODULE/mod_process_security

Modules needing the approval of modules-dev@httpd.apache.org
mod_process_security - This module is a suEXEC module for CGI and DSO
using thread. Improvement of mod_ruid2(vulnerability) and
suEXEC(performance).
regards,
-- 
MATSUMOTO Ryosuke  matsu1229 at gmail.com 
http://blog.matsumoto-r.jp/


apache module registry is working?

2011-11-16 Thread MATSUMOTO Ryosuke
Hi, all

I submitted my module to apache module registry on 5 days ago, but response is 
nothing yet.

The site is woking now?

Submitted module name is mod_process_security.

regards,





Re: PHP script is running very slowly when using Apache PHP module

2011-10-20 Thread MATSUMOTO Ryosuke
 8513251




-- 
MATSUMOTO Ryosuke  matsu1229 at gmail.com 
http://blog.matsumoto-r.jp/


Re: log request before and after filters

2011-10-15 Thread MATSUMOTO Ryosuke
If you would like to record process resources in requests+responses
before and after,
There is a module mod_rchecker.
https://modules.apache.org/search.php?id=2559

2011/10/16 Nick Kew n...@apache.org:

 On 16 Oct 2011, at 00:14, Jodi Bosa wrote:

 Is there a module that can record requests+responses before and after other
 filters have been invoked?

 You mean like mod_diagnostics?

 --
 Nick Kew




-- 
MATSUMOTO Ryosuke  matsu1229 at gmail.com 
http://blog.matsumoto-r.jp/


Re: graceful restart detection in prefork mode

2011-05-26 Thread MATSUMOTO Ryosuke
Hi,

How do you configure GracefulShutdownTimeout?

2011/5/26 Petr Hracek phrac...@gmail.com

 Dear developers,

 My situation is following:
 In my Apache2 running in prefork mode I have following situation.

 Whole pages (except loging page) are run over https (port 443) and
 authentication is done over my own module.
 When the most users are looking on the pages (https) then I would like
 to reload configuration of my apache over command
 apache2ctl -k graceful

 I suggest that new users will see new configuration and old users will
 have their session till they will not logout.

 But unfortunatelly all sessions are closed and as new as old users
 have to login again for other work.

 Is there any solution for that like detection for gracefull restart?
 Do you now any idea how to do that?

 My apache2 which is delivered by SUSE is pretty old (I know).
 linux:~ # httpd2 -l
 Compiled in modules:
  core.c
  prefork.c
  http_core.c
  mod_so.c
 linux:~ # httpd2 -V
 Server version: Apache/2.2.3
 Server built:   Apr 14 2010 11:41:47
 Server's Module Magic Number: 20051115:3
 Server loaded:  APR 1.2.2, APR-Util 1.2.2
 Compiled using: APR 1.2.2, APR-Util 1.2.2
 Architecture:   32-bit
 Server MPM: Prefork
  threaded: no
forked: yes (variable process count)
 Server compiled with
  -D APACHE_MPM_DIR=server/mpm/prefork
  -D APR_HAS_SENDFILE
  -D APR_HAS_MMAP
  -D APR_HAVE_IPV6 (IPv4-mapped addresses enabled)
  -D APR_USE_SYSVSEM_SERIALIZE
  -D APR_USE_PTHREAD_SERIALIZE
  -D SINGLE_LISTEN_UNSERIALIZED_ACCEPT
  -D APR_HAS_OTHER_CHILD
  -D AP_HAVE_RELIABLE_PIPED_LOGS
  -D DYNAMIC_MODULE_LIMIT=128
  -D HTTPD_ROOT=/srv/www
  -D SUEXEC_BIN=/usr/sbin/suexec2
  -D DEFAULT_PIDLOG=/var/run/httpd2.pid
  -D DEFAULT_SCOREBOARD=logs/apache_runtime_status
  -D DEFAULT_LOCKFILE=/var/run/accept.lock
  -D DEFAULT_ERRORLOG=/var/log/apache2/error_log
  -D AP_TYPES_CONFIG_FILE=/etc/apache2/mime.types
  -D SERVER_CONFIG_FILE=/etc/apache2/httpd.conf
 linux:~ #

 Thank you in advance.
 --
 Best Regards / S pozdravem
 Petr Hracek



Re: graceful restart detection in prefork mode

2011-05-26 Thread MATSUMOTO Ryosuke
GracefulShutdownTimeout valiue is zero as defualt.

Setting this value to zero means that the server will wait indefinitely
until all remaining requests have been fully served.

2011/5/26 Petr Hracek phrac...@gmail.com

 It is not configured yet.
 I suggest that GracefulShutdownTimeout 0 as default is OK, right?

 2011/5/26 MATSUMOTO Ryosuke matsu1...@gmail.com:
  Hi,
  How do you configure GracefulShutdownTimeout?
  2011/5/26 Petr Hracek phrac...@gmail.com
 
  Dear developers,
 
  My situation is following:
  In my Apache2 running in prefork mode I have following situation.
 
  Whole pages (except loging page) are run over https (port 443) and
  authentication is done over my own module.
  When the most users are looking on the pages (https) then I would like
  to reload configuration of my apache over command
  apache2ctl -k graceful
 
  I suggest that new users will see new configuration and old users will
  have their session till they will not logout.
 
  But unfortunatelly all sessions are closed and as new as old users
  have to login again for other work.
 
  Is there any solution for that like detection for gracefull restart?
  Do you now any idea how to do that?
 
  My apache2 which is delivered by SUSE is pretty old (I know).
  linux:~ # httpd2 -l
  Compiled in modules:
   core.c
   prefork.c
   http_core.c
   mod_so.c
  linux:~ # httpd2 -V
  Server version: Apache/2.2.3
  Server built:   Apr 14 2010 11:41:47
  Server's Module Magic Number: 20051115:3
  Server loaded:  APR 1.2.2, APR-Util 1.2.2
  Compiled using: APR 1.2.2, APR-Util 1.2.2
  Architecture:   32-bit
  Server MPM: Prefork
   threaded: no
 forked: yes (variable process count)
  Server compiled with
   -D APACHE_MPM_DIR=server/mpm/prefork
   -D APR_HAS_SENDFILE
   -D APR_HAS_MMAP
   -D APR_HAVE_IPV6 (IPv4-mapped addresses enabled)
   -D APR_USE_SYSVSEM_SERIALIZE
   -D APR_USE_PTHREAD_SERIALIZE
   -D SINGLE_LISTEN_UNSERIALIZED_ACCEPT
   -D APR_HAS_OTHER_CHILD
   -D AP_HAVE_RELIABLE_PIPED_LOGS
   -D DYNAMIC_MODULE_LIMIT=128
   -D HTTPD_ROOT=/srv/www
   -D SUEXEC_BIN=/usr/sbin/suexec2
   -D DEFAULT_PIDLOG=/var/run/httpd2.pid
   -D DEFAULT_SCOREBOARD=logs/apache_runtime_status
   -D DEFAULT_LOCKFILE=/var/run/accept.lock
   -D DEFAULT_ERRORLOG=/var/log/apache2/error_log
   -D AP_TYPES_CONFIG_FILE=/etc/apache2/mime.types
   -D SERVER_CONFIG_FILE=/etc/apache2/httpd.conf
  linux:~ #
 
  Thank you in advance.
  --
  Best Regards / S pozdravem
  Petr Hracek
 
 



 --
 Best Regards / S pozdravem
 Petr Hracek



Re: graceful restart detection in prefork mode

2011-05-26 Thread MATSUMOTO Ryosuke
How do you configure KeepAliveTimeout?

KeepAliveTimeout value is 15(sec) as default.

The number of seconds Apache will wait for a subsequent request before
closing the connection.

2011/5/26 MATSUMOTO Ryosuke matsu1...@gmail.com

 GracefulShutdownTimeout valiue is zero as defualt.

 Setting this value to zero means that the server will wait indefinitely
 until all remaining requests have been fully served.


 2011/5/26 Petr Hracek phrac...@gmail.com

 It is not configured yet.
 I suggest that GracefulShutdownTimeout 0 as default is OK, right?

 2011/5/26 MATSUMOTO Ryosuke matsu1...@gmail.com:
  Hi,
  How do you configure GracefulShutdownTimeout?
  2011/5/26 Petr Hracek phrac...@gmail.com
 
  Dear developers,
 
  My situation is following:
  In my Apache2 running in prefork mode I have following situation.
 
  Whole pages (except loging page) are run over https (port 443) and
  authentication is done over my own module.
  When the most users are looking on the pages (https) then I would like
  to reload configuration of my apache over command
  apache2ctl -k graceful
 
  I suggest that new users will see new configuration and old users will
  have their session till they will not logout.
 
  But unfortunatelly all sessions are closed and as new as old users
  have to login again for other work.
 
  Is there any solution for that like detection for gracefull restart?
  Do you now any idea how to do that?
 
  My apache2 which is delivered by SUSE is pretty old (I know).
  linux:~ # httpd2 -l
  Compiled in modules:
   core.c
   prefork.c
   http_core.c
   mod_so.c
  linux:~ # httpd2 -V
  Server version: Apache/2.2.3
  Server built:   Apr 14 2010 11:41:47
  Server's Module Magic Number: 20051115:3
  Server loaded:  APR 1.2.2, APR-Util 1.2.2
  Compiled using: APR 1.2.2, APR-Util 1.2.2
  Architecture:   32-bit
  Server MPM: Prefork
   threaded: no
 forked: yes (variable process count)
  Server compiled with
   -D APACHE_MPM_DIR=server/mpm/prefork
   -D APR_HAS_SENDFILE
   -D APR_HAS_MMAP
   -D APR_HAVE_IPV6 (IPv4-mapped addresses enabled)
   -D APR_USE_SYSVSEM_SERIALIZE
   -D APR_USE_PTHREAD_SERIALIZE
   -D SINGLE_LISTEN_UNSERIALIZED_ACCEPT
   -D APR_HAS_OTHER_CHILD
   -D AP_HAVE_RELIABLE_PIPED_LOGS
   -D DYNAMIC_MODULE_LIMIT=128
   -D HTTPD_ROOT=/srv/www
   -D SUEXEC_BIN=/usr/sbin/suexec2
   -D DEFAULT_PIDLOG=/var/run/httpd2.pid
   -D DEFAULT_SCOREBOARD=logs/apache_runtime_status
   -D DEFAULT_LOCKFILE=/var/run/accept.lock
   -D DEFAULT_ERRORLOG=/var/log/apache2/error_log
   -D AP_TYPES_CONFIG_FILE=/etc/apache2/mime.types
   -D SERVER_CONFIG_FILE=/etc/apache2/httpd.conf
  linux:~ #
 
  Thank you in advance.
  --
  Best Regards / S pozdravem
  Petr Hracek
 
 



 --
 Best Regards / S pozdravem
 Petr Hracek





Access tuning module mod_vlimit

2011-05-26 Thread MATSUMOTO Ryosuke
Hi all,

This is MATSUMOTO Ryosuke.
I am apache module developer in Japan.

My best access tuning module is mod_vlimit.

mod_vlimit allows “Apache HTTP Server” administrators to limit the
number of simultaneous connections(ex, perl php)  from all clients to
the file or directory.

Mod_vlimit do NOT need to use mod_status.

The distribution page is http://modules.apache.org/search.php?id=2570.

It would be greatly appreciated that it gives the impression to me.

Best Regards


Access tuning module mod_vlimit

2011-05-26 Thread MATSUMOTO Ryosuke
Hi all,

This is MATSUMOTO Ryosuke.
I am apache module developer in Japan.

My best access tuning module is mod_vlimit.
mod_vlimit allows “Apache HTTP Server” administrators to limit the number
of simultaneous connections(ex, perl php)  from all clients to the
file or directory.

Mod_vlimit do NOT need to use mod_status.

The distribution page is http://modules.apache.org/search.php?id=2570.

It would be greatly appreciated that it gives the impression to me.

Best Regards,