2ch特化型サーバ・ロケーション構築作戦のスレッドです。
・2ちゃんねるのサーバロケーション、PIEに関する関連作業・調整事項
・DNS登録・変更まわりの関連作業・調整事項
・2ちゃんねるのサーバで採用しているOS、FreeBSDに関する情報・調整事項
・各種作戦・プロジェクトとの連携、プロジェクト間の連携
等を取り扱います。
現在、複数サーバによる連携により、
サーバ能力のさらなるスケールアップをめざすための「雪だるま作戦」が進行中です。
また、次世代の携帯アクセス環境をめざした「べっかんこ作戦」も稼動しはじめました。
「2ちゃんねる証券取引所」や、「Be」の機能強化等、
2ちゃんねるは今日も変化し続けています。
前スレ:
2ch特化型サーバ・ロケーション構築作戦 Part19
http://qb5.2ch.net/test/read.cgi/operate/1121886018/
2ch特化型サーバ・ロケーション構築作戦 Part20
■ このスレッドは過去ログ倉庫に格納されています
1root▲ ★
NGNG2006/03/17(金) 22:46:17ID:pvQ2ZSVI0
458です。少し興味がわいたので、
>>461を参考にsrclib/apr/dso/unix/dso.cに修正をいれて、家のマシンでテストしてみました。
修正点は、dlopen()とdlclose()の呼び出し前後にmutexのlockとunlockを入れたことです。
環境:
FreeBSD 6.1-PRERELEASE i386 SMP
Apache 2.2.0 worker
テストに使用したソース:
ttp://sunos.saita.ma/mod_cgidso.c
ttp://sunos.saita.ma/dso-example.c
テスト方法:
リモートからabを使用して、対象のマシンに負荷をかける。
テスト結果:
srclib/apr/dso/unix/dso.cの修正前は、apacheが落ちまくって全然駄目だったが、
修正後は一度も落ちなかった。
なので、aprのソースをいじるのも悪くないかもしれません。
>>461を参考にsrclib/apr/dso/unix/dso.cに修正をいれて、家のマシンでテストしてみました。
修正点は、dlopen()とdlclose()の呼び出し前後にmutexのlockとunlockを入れたことです。
環境:
FreeBSD 6.1-PRERELEASE i386 SMP
Apache 2.2.0 worker
テストに使用したソース:
ttp://sunos.saita.ma/mod_cgidso.c
ttp://sunos.saita.ma/dso-example.c
テスト方法:
リモートからabを使用して、対象のマシンに負荷をかける。
テスト結果:
srclib/apr/dso/unix/dso.cの修正前は、apacheが落ちまくって全然駄目だったが、
修正後は一度も落ちなかった。
なので、aprのソースをいじるのも悪くないかもしれません。
474473
2006/03/17(金) 22:49:53ID:pvQ2ZSVI0 書き忘れ。
libpthread, libthr どちらでも落ちませんでした。
libpthread, libthr どちらでも落ちませんでした。
2006/03/17(金) 22:56:36ID:T+Aq1Ujm0
>>474
diffかいてうpしればroot先生が滝のような涙を流して?喜ぶでしょうw
diffかいてうpしればroot先生が滝のような涙を流して?喜ぶでしょうw
476473
2006/03/17(金) 23:20:01ID:pvQ2ZSVI0 --- srclib/apr/dso/unix/dso.c.origSat Feb 5 05:44:01 2005
+++ srclib/apr/dso/unix/dso.cFri Mar 17 23:10:30 2006
@@ -38,6 +38,10 @@
#define DYLD_LIBRARY_HANDLE (void *)-1
#endif
+#if defined(__FreeBSD__)
+static pthread_mutex_t dlmutex = PTHREAD_MUTEX_INITIALIZER;
+#endif
+
APR_DECLARE(apr_status_t) apr_os_dso_handle_put(apr_dso_handle_t **aprdso,
apr_os_dso_handle_t osdso,
apr_pool_t *pool)
@@ -62,6 +66,9 @@
if (dso->handle == NULL)
return APR_SUCCESS;
+#if defined(__FreeBSD__)
+ pthread_mutex_lock(&dlmutex);
+#endif
#if defined(DSO_USE_SHL)
shl_unload((shl_t)dso->handle);
#elif defined(DSO_USE_DYLD)
@@ -69,8 +76,15 @@
NSUnLinkModule(dso->handle, FALSE);
}
#elif defined(DSO_USE_DLFCN)
- if (dlclose(dso->handle) != 0)
+ if (dlclose(dso->handle) != 0) {
+#if defined(__FreeBSD__)
+ pthread_mutex_unlock(&dlmutex);
+#endif
return APR_EINIT;
+ }
+#endif
+#if defined(__FreeBSD__)
+ pthread_mutex_unlock(&dlmutex);
#endif
dso->handle = NULL;
@@ -80,6 +94,9 @@
APR_DECLARE(apr_status_t) apr_dso_load(apr_dso_handle_t **res_handle,
const char *path, apr_pool_t *pool)
{
+#if defined(__FreeBSD__)
+ pthread_mutex_lock(&dlmutex);
+#endif
#if defined(DSO_USE_SHL)
shl_t os_handle = shl_load(path, BIND_IMMEDIATE, 0L);
@@ -139,6 +156,9 @@
os_handle = dlopen(path, flags);
#endif
#endif /* DSO_USE_x */
+#if defined(__FreeBSD__)
+ pthread_mutex_unlock(&dlmutex);
+#endif
*res_handle = apr_pcalloc(pool, sizeof(**res_handle));
+++ srclib/apr/dso/unix/dso.cFri Mar 17 23:10:30 2006
@@ -38,6 +38,10 @@
#define DYLD_LIBRARY_HANDLE (void *)-1
#endif
+#if defined(__FreeBSD__)
+static pthread_mutex_t dlmutex = PTHREAD_MUTEX_INITIALIZER;
+#endif
+
APR_DECLARE(apr_status_t) apr_os_dso_handle_put(apr_dso_handle_t **aprdso,
apr_os_dso_handle_t osdso,
apr_pool_t *pool)
@@ -62,6 +66,9 @@
if (dso->handle == NULL)
return APR_SUCCESS;
+#if defined(__FreeBSD__)
+ pthread_mutex_lock(&dlmutex);
+#endif
#if defined(DSO_USE_SHL)
shl_unload((shl_t)dso->handle);
#elif defined(DSO_USE_DYLD)
@@ -69,8 +76,15 @@
NSUnLinkModule(dso->handle, FALSE);
}
#elif defined(DSO_USE_DLFCN)
- if (dlclose(dso->handle) != 0)
+ if (dlclose(dso->handle) != 0) {
+#if defined(__FreeBSD__)
+ pthread_mutex_unlock(&dlmutex);
+#endif
return APR_EINIT;
+ }
+#endif
+#if defined(__FreeBSD__)
+ pthread_mutex_unlock(&dlmutex);
#endif
dso->handle = NULL;
@@ -80,6 +94,9 @@
APR_DECLARE(apr_status_t) apr_dso_load(apr_dso_handle_t **res_handle,
const char *path, apr_pool_t *pool)
{
+#if defined(__FreeBSD__)
+ pthread_mutex_lock(&dlmutex);
+#endif
#if defined(DSO_USE_SHL)
shl_t os_handle = shl_load(path, BIND_IMMEDIATE, 0L);
@@ -139,6 +156,9 @@
os_handle = dlopen(path, flags);
#endif
#endif /* DSO_USE_x */
+#if defined(__FreeBSD__)
+ pthread_mutex_unlock(&dlmutex);
+#endif
*res_handle = apr_pcalloc(pool, sizeof(**res_handle));
477473
2006/03/17(金) 23:22:42ID:pvQ2ZSVI0 単純なものなので、こんな感じです。
2006/03/17(金) 23:46:00ID:0XhMUK1z0
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 現金給付にマイナポイント活用案が浮上 与党、物価高対策で検討 ★2 [おっさん友の会★]
- 広末涼子容疑者(44)本鑑定でも薬物検出なし…睡眠薬なども検出されず 被害者とは示談する方向で交渉 ★2 [ひかり★]
- 万博の来場者数、開幕翌日は半減して5万人… ★3 [少考さん★]
- すき家に新メニュー「ナポリタン牛丼」登場、ペンネを使ったナポリタンをトッピング、「チーズナポリタン牛丼」なども同時発売 [おっさん友の会★]
- 辛坊治郎氏、万博ネガティブ報道を「そのまま拡散するバカネット民やアホ芸能人、この国滅びる」 [冬月記者★]
- 【万博】物議醸すトイレ「舐めてんのかと思った なぜこの仕様に? ネットも「デザインの失敗」指摘 [七波羅探題★]
- 【乞食速報】オカルト板「まず闇の支配体制が倒れると大衆に隠されてきた技術が解禁されて、電気が無料、税金も廃止される。」 [904880432]
- 辛坊治郎「万博のネガティブ報道をそのまま拡散する馬鹿どものせいで国が滅びる」 [834922174]
- 現金給付ではなく「消費税の減税」でよくない? [249548894]
- 厚労省「精神科病院入院患者へのスマホ規制は80年代の規定が根拠で時代にそぐわない。スマホを自由に使わせるべき」 [377482965]
- 【超朗報】並ばない万博、達成してしまう [931948549]
- __闇バイト、ヤクザの家ばかり狙い出す「銀行口座ないから現金1億円くらい家にある。コスパが良い」 [827565401]