'Programming'에 해당되는 글 1786건

  1. 2017.02.05 ubuntu mpich cluster
  2. 2017.02.04 opempi 패키지
  3. 2017.02.03 openmpi with heterogenerous
  4. 2017.02.03 openmpi with openmp
  5. 2017.01.31 cpp string compare 와 ==
  6. 2017.01.27 해싱 salt
  7. 2017.01.25 php $_REQUEST
  8. 2017.01.23 php global
  9. 2017.01.18 html+php login form
  10. 2017.01.16 xdebug - php debug / profiler
Programming/openMPI2017. 2. 5. 12:39

음.. 구조를 일단 파악을 해봐야 하나..

odroid 쪽은 mpich2 패키지가 없네.. 버전이 달라서 그런가?

아무튼 mpiexec나 mpirun 나 둘다 똑같이 실행파일이 연결되네

lrwxrwxrwx 1 root root 24  2월  5 12:43 /usr/bin/mpirun -> /etc/alternatives/mpirun*

lrwxrwxrwx 1 root root 25  2월  5 12:43 /usr/bin/mpiexec -> /etc/alternatives/mpiexec*

lrwxrwxrwx 1 root root 21  2월  5 12:43 /etc/alternatives/mpirun -> /usr/bin/mpirun.mpich*

lrwxrwxrwx 1 root root 22  2월  5 12:43 /etc/alternatives/mpiexec -> /usr/bin/mpiexec.mpich* 

lrwxrwxrwx 1 root root 13  2월  7  2016 /usr/bin/mpirun.mpich -> mpiexec.hydra*

lrwxrwxrwx 1 root root 13  2월  7  2016 /usr/bin/mpiexec.mpich -> mpiexec.hydra*


$ mpiexec --help


Usage: ./mpiexec [global opts] [local opts for exec1] [exec1] [exec1 args] : [local opts for exec2] [exec2] [exec2 args] : ...


Global options (passed to all executables):


  Global environment options:

    -genv {name} {value}             environment variable name and value

    -genvlist {env1,env2,...}        environment variable list to pass

    -genvnone                        do not pass any environment variables

    -genvall                         pass all environment variables not managed

                                          by the launcher (default)


  Other global options:

    -f {name}                        file containing the host names 


호스트 파일은 아래와 같이 넣는데 얘도 winbind 적용 가능하려나?

ub3:4  # this will spawn 4 processes on ub3

ub2:2  # this will spawn 2 processes on ub2

ub1    # this will spawn 1 process on ub1

ub0    # this will spawn 1 process on ub0 


[링크 : https://help.ubuntu.com/community/MpichCluster]

    [링크 : http://www.brianjp93.com/blog/building-a-beowulf-cluster-ubuntu-1404-server-lts/]

[링크 : https://www.digitalocean.com/.../how-to-create-a-beowulf-cluster-using-ubuntu-12-04-vps-instances]

[링크 : http://techtinkering.com/2009/12/02/setting-up-a-beowulf-cluster-using-open-mpi-on-linux/]

설정방법을 대충보니...

빌드 돌릴 녀석이 host node가 되고, 얘가 nfs로 공유할 디렉토리를 생성해서 work node들이 여기를 연결

빌드에는 ssh를 key적용해서 암호없이도 할 수 있도록 해야 하는 듯..

옛날에 있던 녀석이니.. rlogin이나 telnet으로는 안되려나?


$ mpiexec -info

HYDRA build details:

    Version:                                 3.2

    Release Date:                            Wed Nov 11 22:06:48 CST 2015

    CC:                              gcc   -Wl,-Bsymbolic-functions -Wl,-z,relro 

    CXX:                             g++   -Wl,-Bsymbolic-functions -Wl,-z,relro 

    F77:                             gfortran  -Wl,-Bsymbolic-functions -Wl,-z,relro 

    F90:                             gfortran  -Wl,-Bsymbolic-functions -Wl,-z,relro 

    Configure options:                       '--disable-option-checking' '--prefix=/usr' '--build=arm-linux-gnueabihf' '--includedir=${prefix}/include' '--mandir=${prefix}/share/man' '--infodir=${prefix}/share/info' '--sysconfdir=/etc' '--localstatedir=/var' '--disable-silent-rules' '--libdir=${prefix}/lib/arm-linux-gnueabihf' '--libexecdir=${prefix}/lib/arm-linux-gnueabihf' '--disable-maintainer-mode' '--disable-dependency-tracking' '--enable-shared' '--enable-fortran=all' '--disable-rpath' '--disable-wrapper-rpath' '--sysconfdir=/etc/mpich' '--libdir=/usr/lib/arm-linux-gnueabihf' '--includedir=/usr/include/mpich' '--docdir=/usr/share/doc/mpich' '--with-hwloc-prefix=system' 'CPPFLAGS= -Wdate-time -D_FORTIFY_SOURCE=2 -I/build/mpich-52KREu/mpich-3.2/src/mpl/include -I/build/mpich-52KREu/mpich-3.2/src/mpl/include -I/build/mpich-52KREu/mpich-3.2/src/openpa/src -I/build/mpich-52KREu/mpich-3.2/src/openpa/src -D_REENTRANT -I/build/mpich-52KREu/mpich-3.2/src/mpi/romio/include' 'CFLAGS= -g -O2 -fstack-protector-strong -Wformat -Werror=format-security -O2' 'CXXFLAGS= -g -O2 -fstack-protector-strong -Wformat -Werror=format-security -O2' 'FFLAGS= -g -O2 -fstack-protector-strong -O2' 'FCFLAGS= -g -O2 -fstack-protector-strong -O2' 'build_alias=arm-linux-gnueabihf' 'MPICHLIB_CFLAGS=-g -O2 -fstack-protector-strong -Wformat -Werror=format-security' 'MPICHLIB_CPPFLAGS=-Wdate-time -D_FORTIFY_SOURCE=2' 'MPICHLIB_CXXFLAGS=-g -O2 -fstack-protector-strong -Wformat -Werror=format-security' 'MPICHLIB_FFLAGS=-g -O2 -fstack-protector-strong' 'MPICHLIB_FCFLAGS=-g -O2 -fstack-protector-strong' 'LDFLAGS=-Wl,-Bsymbolic-functions -Wl,-z,relro' 'FC=gfortran' 'F77=gfortran' 'MPILIBNAME=mpich' '--cache-file=/dev/null' '--srcdir=.' 'CC=gcc' 'LIBS=-lpthread '

    Process Manager:                         pmi

    Launchers available:                     ssh rsh fork slurm ll lsf sge manual persist

    Topology libraries available:            hwloc

    Resource management kernels available:   user slurm ll lsf sge pbs cobalt

    Checkpointing libraries available:       blcr

    Demux engines available:                 poll select 


'Programming > openMPI' 카테고리의 다른 글

openMPI 서비스 설치하기...?  (0) 2019.04.02
opempi 패키지  (0) 2017.02.04
openmpi with heterogenerous  (0) 2017.02.03
openmpi with openmp  (0) 2017.02.03
OpenMP 그리고 OpenMPI  (2) 2011.09.19
Posted by 구차니
Programming/openMPI2017. 2. 4. 22:58

멀 깔아야 서버가 되려나?


$ sudo apt-cache search openmpi

gromacs-openmpi - Molecular dynamics sim, binaries for OpenMPI parallelization

libblacs-openmpi1 - Basic Linear Algebra Comm. Subprograms - Shared libs. for OpenMPI

libhdf5-openmpi-8 - Hierarchical Data Format 5 (HDF5) - runtime files - OpenMPI version

libhdf5-openmpi-8-dbg - Hierarchical Data Format 5 (HDF5) - OpenMPI Debug package

libhdf5-openmpi-dev - Hierarchical Data Format 5 (HDF5) - development files - OpenMPI version

libmeep-lam4-7 - library for using parallel (OpenMPI) version of meep

libmeep-lam4-dev - development library for using parallel (OpenMPI) version of meep

libmeep-mpi-default-dev - development library for using parallel (OpenMPI) version of meep

libmeep-mpi-default7 - library for using parallel (OpenMPI) version of meep

libmeep-mpich2-7 - library for using parallel (OpenMPI) version of meep

libmeep-mpich2-dev - development library for using parallel (OpenMPI) version of meep

libmeep-openmpi-dev - development library for using parallel (OpenMPI) version of meep

libmeep-openmpi7 - library for using parallel (OpenMPI) version of meep

libopenmpi-dev - high performance message passing library -- header files

libopenmpi1.6 - high performance message passing library -- shared library

libopenmpi1.6-dbg - high performance message passing library -- debug library

libscalapack-openmpi1 - Scalable Linear Algebra Package - Shared libs. for OpenMPI

meep-lam4 - software package for FDTD simulation, parallel (OpenMPI) version

meep-mpi-default - software package for FDTD simulation, parallel (OpenMPI) version

meep-mpich2 - software package for FDTD simulation, parallel (OpenMPI) version

meep-openmpi - software package for FDTD simulation, parallel (OpenMPI) version

mpqc-openmpi - Massively Parallel Quantum Chemistry Program (OpenMPI transitional package)

netpipe-openmpi - Network performance tool using OpenMPI

octave-openmpi-ext - Transitional package for parallel computing in Octave using MPI

openmpi-bin - high performance message passing library -- binaries

openmpi-checkpoint - high performance message passing library -- checkpoint support

openmpi-common - high performance message passing library -- common files

openmpi-doc - high performance message passing library -- man pages

openmpi1.6-common - high performance message passing library -- common files

openmpi1.6-doc - high performance message passing library -- man pages

openmpipython - MPI-enhanced Python interpreter (OpenMPI based version)

yorick-full - full installation of the Yorick interpreter and add-ons

yorick-mpy-openmpi - Message Passing Yorick (OpenMPI build) 


$ sudo apt-cache search mpich

gromacs-mpich - Molecular dynamics sim, binaries for MPICH parallelization

libhdf5-mpich-8 - Hierarchical Data Format 5 (HDF5) - runtime files - MPICH2 version

libhdf5-mpich-8-dbg - Hierarchical Data Format 5 (HDF5) - Mpich Debug package

libhdf5-mpich-dev - Hierarchical Data Format 5 (HDF5) - development files - MPICH version

libhdf5-mpich2-dev - Hierarchical Data Format 5 (HDF5) - development files - MPICH version

libmeep-mpi-default-dev - development library for using parallel (OpenMPI) version of meep

libmeep-mpi-default7 - library for using parallel (OpenMPI) version of meep

libmeep-mpich2-7 - library for using parallel (OpenMPI) version of meep

libmeep-mpich2-dev - development library for using parallel (OpenMPI) version of meep

libmpich-dev - Development files for MPICH

libmpich12 - Shared libraries for MPICH

libmpich2-3 - Shared libraries for MPICH2

libmpich2-dev - Transitional dummy package for MPICH development files

libmpl-dev - Development files for mpl part of MPICH

libmpl1 - Shared libraries for mpl part of MPICH

libopa-dev - Development files for opa part of MPICH

libopa1 - Shared libraries for opa part of MPICH

libscalapack-mpi-dev - Scalable Linear Algebra Package - Dev. files for MPICH

meep-mpi-default - software package for FDTD simulation, parallel (OpenMPI) version

meep-mpich2 - software package for FDTD simulation, parallel (OpenMPI) version

mpb-mpi - MIT Photonic-Bands, parallel (mpich) version

mpi-default-bin - Standard MPI runtime programs (metapackage)

mpi-default-dev - Standard MPI development files (metapackage)

mpich - Implementation of the MPI Message Passing Interface standard

mpich-doc - Documentation for MPICH

mpich2 - Transitional dummy package

mpich2-doc - Transitional dummy package for MPICH documentation

mpich2python - MPI-enhanced Python interpreter (MPICH2 based version)

netpipe-mpich2 - Network performance tool using MPICH2 MPI

scalapack-mpi-test - Scalable Linear Algebra Package - Test files for MPICH

scalapack-test-common - Test data for ScaLAPACK testers

yorick-full - full installation of the Yorick interpreter and add-ons

yorick-mpy-mpich2 - Message Passing Yorick (MPICH2 build)


$ sudo apt-cache search mpirun

lam-runtime - LAM runtime environment for executing parallel programs

mpi-default-bin - Standard MPI runtime programs (metapackage) 

[링크 : https://likymice.wordpress.com/2015/03/13/install-open-mpi-in-ubuntu-14-04-13-10/]


$ sudo apt-get install libcr-dev mpich2 mpich2-doc 

[링크 : https://jetcracker.wordpress.com/2012/03/01/how-to-install-mpi-in-ubuntu/]


mpich와 mpich2는 별 차이가 없네? 그래도 2는 1을 포함하는 듯

$ sudo apt-get install mpich

Reading package lists... Done

Building dependency tree

Reading state information... Done

The following extra packages will be installed:

  gfortran gfortran-4.9 hwloc-nox libcr0 libgfortran-4.9-dev libhwloc-plugins

  libhwloc5 libmpich-dev libmpich12 libmpl-dev libmpl1 libopa-dev libopa1

  ocl-icd-libopencl1

Suggested packages:

  gfortran-doc gfortran-4.9-doc libgfortran3-dbg blcr-dkms

  libhwloc-contrib-plugins blcr-util mpich-doc opencl-icd

The following NEW packages will be installed:

  gfortran gfortran-4.9 hwloc-nox libcr0 libgfortran-4.9-dev libhwloc-plugins

  libhwloc5 libmpich-dev libmpich12 libmpl-dev libmpl1 libopa-dev libopa1

  mpich ocl-icd-libopencl1

0 upgraded, 15 newly installed, 0 to remove and 3 not upgraded.

Need to get 6,879 kB of archives.

After this operation, 25.5 MB of additional disk space will be used.

Do you want to continue? [Y/n] 

$ sudo apt-get install mpich2

Reading package lists... Done

Building dependency tree

Reading state information... Done

The following extra packages will be installed:

  gfortran gfortran-4.9 hwloc-nox libcr0 libgfortran-4.9-dev libhwloc-plugins

  libhwloc5 libmpich-dev libmpich12 libmpl-dev libmpl1 libopa-dev libopa1

  mpich ocl-icd-libopencl1

Suggested packages:

  gfortran-doc gfortran-4.9-doc libgfortran3-dbg blcr-dkms

  libhwloc-contrib-plugins blcr-util mpich-doc opencl-icd

The following NEW packages will be installed:

  gfortran gfortran-4.9 hwloc-nox libcr0 libgfortran-4.9-dev libhwloc-plugins

  libhwloc5 libmpich-dev libmpich12 libmpl-dev libmpl1 libopa-dev libopa1

  mpich mpich2 ocl-icd-libopencl1

0 upgraded, 16 newly installed, 0 to remove and 3 not upgraded.

Need to get 6,905 kB of archives.

After this operation, 25.6 MB of additional disk space will be used.

Do you want to continue? [Y/n]


그냥 실행하는게 없으니 에러나네?

$ mpirun

[mpiexec@raspberrypi] set_default_values (ui/mpich/utils.c:1528): no executable provided

[mpiexec@raspberrypi] HYD_uii_mpx_get_parameters (ui/mpich/utils.c:1739): setting default values failed

[mpiexec@raspberrypi] main (ui/mpich/mpiexec.c:153): error parsing parameters 


대충 소스 받아서 돌려보니 되긴한데.. 다른 서버를 구축해서 하는건 또 나중에 해봐야지..

$ mpicc mpi.c -o hello

$ mpirun -np 2 ./hello

Hello world from process 0 of 2

Hello world from process 1 of 2 


-np는 number of processes

$ mpirun --help


Usage: ./mpiexec [global opts] [local opts for exec1] [exec1] [exec1 args] : [local opts for exec2] [exec2] [exec2 args] : ...


Global options (passed to all executables):


  Global environment options:

    -genv {name} {value}             environment variable name and value

    -genvlist {env1,env2,...}        environment variable list to pass

    -genvnone                        do not pass any environment variables

    -genvall                         pass all environment variables not managed

                                          by the launcher (default)


  Other global options:

    -f {name}                        file containing the host names

    -hosts {host list}               comma separated host list

    -wdir {dirname}                  working directory to use

    -configfile {name}               config file containing MPMD launch options



Local options (passed to individual executables):


  Local environment options:

    -env {name} {value}              environment variable name and value

    -envlist {env1,env2,...}         environment variable list to pass

    -envnone                         do not pass any environment variables

    -envall                          pass all environment variables (default)


  Other local options:

    -n/-np {value}                   number of processes

    {exec_name} {args}               executable name and arguments



Hydra specific options (treated as global):


  Launch options:

    -launcher                        launcher to use (ssh rsh fork slurm ll lsf sge manual persist)

    -launcher-exec                   executable to use to launch processes

    -enable-x/-disable-x             enable or disable X forwarding


  Resource management kernel options:

    -rmk                             resource management kernel to use (user slurm ll lsf sge pbs cobalt)


  Processor topology options:

    -topolib                         processor topology library (hwloc)

    -bind-to                         process binding

    -map-by                          process mapping

    -membind                         memory binding policy


  Checkpoint/Restart options:

    -ckpoint-interval                checkpoint interval

    -ckpoint-prefix                  checkpoint file prefix

    -ckpoint-num                     checkpoint number to restart

    -ckpointlib                      checkpointing library (blcr)


  Demux engine options:

    -demux                           demux engine (poll select)


  Other Hydra options:

    -verbose                         verbose mode

    -info                            build information

    -print-all-exitcodes             print exit codes of all processes

    -iface                           network interface to use

    -ppn                             processes per node

    -profile                         turn on internal profiling

    -prepend-rank                    prepend rank to output

    -prepend-pattern                 prepend pattern to output

    -outfile-pattern                 direct stdout to file

    -errfile-pattern                 direct stderr to file

    -nameserver                      name server information (host:port format)

    -disable-auto-cleanup            don't cleanup processes on error

    -disable-hostname-propagation    let MPICH auto-detect the hostname

    -order-nodes                     order nodes as ascending/descending cores

    -localhost                       local hostname for the launching node

    -usize                           universe size (SYSTEM, INFINITE, <value>)


Please see the intructions provided at

http://wiki.mpich.org/mpich/index.php/Using_the_Hydra_Process_Manager

for further details 


'Programming > openMPI' 카테고리의 다른 글

openMPI 서비스 설치하기...?  (0) 2019.04.02
ubuntu mpich cluster  (0) 2017.02.05
openmpi with heterogenerous  (0) 2017.02.03
openmpi with openmp  (0) 2017.02.03
OpenMP 그리고 OpenMPI  (2) 2011.09.19
Posted by 구차니
Programming/openMPI2017. 2. 3. 21:13

이기종간에도(arm + x86) 적용이 가능한가 보네.. 어떻게 되는 원리지?!


[링크 : https://rafaelaroca.wordpress.com/2011/08/31/mpi-on-arm/]

[링크 : https://github.com/open-mpi/ompi/wiki/Heterogeneous]

'Programming > openMPI' 카테고리의 다른 글

openMPI 서비스 설치하기...?  (0) 2019.04.02
ubuntu mpich cluster  (0) 2017.02.05
opempi 패키지  (0) 2017.02.04
openmpi with openmp  (0) 2017.02.03
OpenMP 그리고 OpenMPI  (2) 2011.09.19
Posted by 구차니
Programming/openMPI2017. 2. 3. 21:01

openMP + openMPI 예제

그나저나 서버 구축부터 찾아 봐야겠네


[링크 : http://www.slac.stanford.edu/comp/unix/farm/mpi_and_openmp.html]

[링크 : https://www.open-mpi.org/projects/mtt/]

'Programming > openMPI' 카테고리의 다른 글

openMPI 서비스 설치하기...?  (0) 2019.04.02
ubuntu mpich cluster  (0) 2017.02.05
opempi 패키지  (0) 2017.02.04
openmpi with heterogenerous  (0) 2017.02.03
OpenMP 그리고 OpenMPI  (2) 2011.09.19
Posted by 구차니
Programming/C++ STL2017. 1. 31. 09:20

cpp에서는 string 형 변수일 경우 ==를 compare로 묶어놔서

둘이 같은거다 라는건가?


[링크 : http://stackoverflow.com/questions/9158894/differences-between-c-string-and-compare]

[링크 : https://msdn.microsoft.com/ko-kr/library/windows/desktop/e4abh74z(v=vs.80).aspx]

'Programming > C++ STL' 카테고리의 다른 글

cpp stringstream << 연산자  (0) 2019.05.24
c++ 함수 인자 기본값  (0) 2017.11.08
cpp this  (0) 2016.07.18
class 기본 접근제한자  (0) 2016.07.18
cpp 매크로 __PRETTY_FUNCTION__  (0) 2016.07.18
Posted by 구차니
Programming/web 관련2017. 1. 27. 22:28

'Programming > web 관련' 카테고리의 다른 글

http header  (0) 2017.03.02
HTTP GET / POST 차이 (telnet)  (0) 2017.02.06
NPAPI / PPAPI - VLC ...  (0) 2016.01.14
HTML5 video player 720p/1080p 재생여부  (0) 2016.01.13
ssi(Server Side Includes)  (0) 2015.12.09
Posted by 구차니
Programming/php2017. 1. 25. 18:14

An associative array that by default contains the contents of $_GET, $_POST and $_COOKIE.

[링크 : http://php.net/manual/en/reserved.variables.request.php]


간단하게 post와 get으로 받은거 구분없이 사용하는 변수

[링크 : http://www.phpschool.com/gnuboard4/bbs/board.php?bo_table=qna_function&wr_id=251801]

[링크 : http://www.phpschool.com/gnuboard4/bbs/board.php?bo_table=forum&wr_id=115415]



+

get / post / cookie에 대해서 적용되고

[링크 : http://php.net/manual/en/reserved.variables.request.php]


Sets the order of the EGPCS (Environment, Get, Post, Cookie, and Server) variable parsing. 

[링크 : http://php.net/manual/en/ini.core.php#ini.variables-order]


변수 우선순위에 의해서 Get이 우선권을 가질 듯?

request_order GP 인데..

이경우에는 Get와 Post만 파싱하는건가?


$ vi /etc/php5/apache2/php.ini

; This directive determines which super global data (G,P & C) should be

; registered into the super global array REQUEST. If so, it also determines

; the order in which that data is registered. The values for this directive

; are specified in the same manner as the variables_order directive,

; EXCEPT one. Leaving this value empty will cause PHP to use the value set

; in the variables_order directive. It does not mean it will leave the super

; globals array REQUEST empty.

; Default Value: None

; Development Value: "GP"

; Production Value: "GP"

; http://php.net/request-order

request_order = "GP" 


'Programming > php' 카테고리의 다른 글

php zend guard ?  (2) 2017.03.14
php -> exe (윈도우)  (0) 2017.03.14
php global  (0) 2017.01.23
html+php login form  (0) 2017.01.18
xdebug - php debug / profiler  (0) 2017.01.16
Posted by 구차니
Programming/php2017. 1. 23. 16:36

접근제어 키워드 라고 해야하나.

함수 내에서 전역변수를 '간편하게' 이용하려면

global $gbal;

이런식으로 선언해주면 $GLOBALS['gbal'] 이런 수고수러움을 해주지 않아도 되는 듯?


[링크 : http://devist.tistory.com/65]


<?php
$a 1;
$b 2;

function 
Sum()
{
    global 
$a$b;

    
$b $a $b;


Sum();
echo 
$b;

?> 


[링크 : http://php.net/manual/en/language.variables.scope.php]



+

그래서.. mantis 소스에서 환경변수로 끌어온 다른 파일의 변수를 그냥 쓴건가...


+

mediawiki는 곳곳에 global 키워드가 보이네... mantis는 머지?

'Programming > php' 카테고리의 다른 글

php -> exe (윈도우)  (0) 2017.03.14
php $_REQUEST  (0) 2017.01.25
html+php login form  (0) 2017.01.18
xdebug - php debug / profiler  (0) 2017.01.16
php 암호 해싱  (0) 2017.01.16
Posted by 구차니
Programming/php2017. 1. 18. 19:11

직접 타이핑 해서 만든건 처음이군..

일단 post와 get 방식으로 테스트를 하게 되었는데..


<form> 은 method를 지정해주지 않으면 기본값이 get 이기 때문에

method="post"를 넣어 주어야 POST 부분에 출력이 되어 나온다.


php에서 echo . 으로 잇는것도 첨 써보는군 ㅋㅋ

 <?php

        include('./conf.php');


        echo "<pre>";

        echo "POST<br>";

        echo $_POST['id'].":".$_POST['pw'];


        echo "<br>GET<br>";

        echo $_GET['id'].":".$_GET['pw'];

        echo "<pre>";

?>


<html>

<head>

<script src="./jquery-3.1.1.min.js"></script>

</head>

<body>

        <form method="post" action="login.php">

                <input type="text" name="id" />

                <input type="password" name="pw" />

                <button type="submit">login</button>

        </form>


</body>

</html>


[링크 : http://www.w3schools.com/howto/howto_css_login_form.asp]

[링크 : https://www.howtoforge.com/community/threads/simple-html-login-form.2895/]

'Programming > php' 카테고리의 다른 글

php $_REQUEST  (0) 2017.01.25
php global  (0) 2017.01.23
xdebug - php debug / profiler  (0) 2017.01.16
php 암호 해싱  (0) 2017.01.16
php sprintf  (0) 2017.01.15
Posted by 구차니
Programming/php2017. 1. 16. 18:23

문득 mediawiki 어디가 이렇게 버벅대나 한번 보려는데 검색을 해보니 xdebug라는 녀석이 있네

$ sudo apt-cache search xdebug

php5-xdebug - Xdebug Module for PHP 5 

[링크 : http://stackoverflow.com/questions/21133/simplest-way-to-profile-a-php-script]


우분투에서 설치하고(라즈베리) phpinfo로 보니 일단 비활성화

xdebug.profiler_aggregate Off Off

xdebug.profiler_append Off Off

xdebug.profiler_enable Off Off

xdebug.profiler_enable_trigger Off Off

xdebug.profiler_output_dir /tmp /tmp

xdebug.profiler_output_name cachegrind.out.%p cachegrind.out.%p


kcachegrind를 깔기에는 KDE다 끌려올 기세라..

$ apt-cache search KCachegrind

kcachegrind - visualisation tool for the Valgrind profiler

kcachegrind-converters - format converters for KCachegrind profiler visualisation tool 


$ sudo vi /etc/php5/apache2/php.ini

[xdebug]

xdebug.profiler_enable = 1

xdebug.profiler_output_name = xdebug.out.%t

xdebug.profiler_output_dir = /tmp

xdebug.profiler_enable_trigger = 1

[링크 : https://www.sitepoint.com/debugging-and-profiling-php-with-xdebug/]


[링크 : https://code.google.com/archive/p/webgrind/]

[링크 : https://github.com/jokkedk/webgrind]


webgrind를 깔고 하는데 라즈베리 성능의 문제인지 한 5분은 거의 먹통...

아무튼 total inclusive cost 로 정렬을 해보니

라즈베리에서 mysql이 꽤나 느리긴 한지, database-query에서 꽤나 많은 시간을 잡아 먹는다.


+

2017.01.18

어라..? var_dump()를 했는데.. <pre> 태그에 xdebug 관련 내용이 추가되면서

밋밋하던 녀석이 갑자기 컬러풀해졌다?

<pre><pre class='xdebug-var-dump' dir='ltr'>
<b>array</b> <i>(size=4)</i>
0 <font color='#888a85'>=&gt;</font>
<b>array</b> <i>(size=1)</i>
'Tables_in_archlog' <font color='#888a85'>=&gt;</font> <small>string</small> <font color='#cc0000'>'article'</font> <i>(length=7)</i>
1 <font color='#888a85'>=&gt;</font>
<b>array</b> <i>(size=1)</i>
'Tables_in_archlog' <font color='#888a85'>=&gt;</font> <small>string</small> <font color='#cc0000'>'blobs'</font> <i>(length=5)</i>
2 <font color='#888a85'>=&gt;</font>
<b>array</b> <i>(size=1)</i>
'Tables_in_archlog' <font color='#888a85'>=&gt;</font> <small>string</small> <font color='#cc0000'>'reply'</font> <i>(length=5)</i>
3 <font color='#888a85'>=&gt;</font>
<b>array</b> <i>(size=1)</i>
'Tables_in_archlog' <font color='#888a85'>=&gt;</font> <small>string</small> <font color='#cc0000'>'user'</font> <i>(length=4)</i>
</pre></pre>


+

2017.01.19

xdebug가 var_dump를 교체해버린다고 한다.

[링크 : http://stackoverflow.com/questions/15666916/weird-var-dump-behavior]

'Programming > php' 카테고리의 다른 글

php global  (0) 2017.01.23
html+php login form  (0) 2017.01.18
php 암호 해싱  (0) 2017.01.16
php sprintf  (0) 2017.01.15
php array to table  (0) 2017.01.14
Posted by 구차니