skip menu and go to main content

body start

MoniWiki

Resolved  getPagesList() 수정 2 ]

10.08.10-17:26:25

315579

Submitted by wkpark

Assignee wkpark

View2382

Priority3

페이지가 5만개 이상 정도 되니 페이지 목록을 가져오는 부분이 상당히 느려지는군요.

지금 방식은 opendir()을 사용하고 있는 방식이고, 페이지가 갱신될때마다 목록을 다시 만들어 주는 방식입니다.

incremental update를 적용해야 할 듯.

Milestone : 1.1.5

Severity : Enhancement

Resolution : Will not Fix

Comments on this artfact

2 Comments

wkpark

Codes changed : moniwiki/wiki.php [#315579] do not use getPagesList() to get the number of pages

10.08.11-01:11:36

wkpark

페이지 개수가 늘어날수록 opendir()해서 페이지 목록을 저장하는 부분에서 메모리도 많이 먹고 느려지고 있습니다.
 1. 메모리를 조금 쓰면서
 2. 페이지 목록을 따로 저장하는 방법을 써야 할듯.

10.08.11-01:14:33

wkpark

"Severity" was changed from "None" to "Enhancement"
"Milestone" was changed from "None" to "1.1.5"
"Assigned To" was changed from "Nobody" to "wkpark"

10.08.11-01:14:57

wkpark

Codes changed : moniwiki/wiki.php [#315579] set_time_limit() to exec getPagesList()/getCounter()

10.08.15-00:27:53

wkpark

페이지수가 많은 경우에 페이지 리스트를 가져오는데 시스템콜이 많네요.
코드상에서 is_dir()체크하는데 많은 시간이 소요됩니다.
단순히 set_time_limit()으로 이 부분의 소요시간을 지정할 수 있도록 했습니다.

1만 페이지 미만일 경우에는 거의 문제가 되지 않고, 3만 이상인 경우부터 어떤 파일시스템을 쓰느냐에 따라서 영향을 많이 받게됩니다.

10.08.15-00:32:20

wkpark

"State" was changed from "Open" to "Closed"

10.08.15-00:33:13

wkpark

"Resolution" was changed from "None" to "Will not Fix"

10.08.15-00:33:14

wkpark

Codes changed : moniwiki/wiki.php [#315579] do not always use is_dir() to reduce system call

10.08.16-16:06:54

wkpark

Codes changed : moniwiki/wiki.php [#315579] oops! add a missing patch at r1.564 to reduce system calls

10.08.17-02:31:10

wkpark

Codes changed : moniwiki/wiki.php [#315579] fixed last changes

10.08.21-18:07:54