[過去ログ] PHP質問・雑談スレ4【初心者お断り(ROM歓迎)】 [無断転載禁止]©2ch.net (1002レス)
1-

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
782: 2018/09/01(土)15:45 ID:??? AAS
ググってわからなかったら、
夜中とか定期的に完全削除しちゃえ。

キャッシュなんてすぐ育つから。
783: 780 2018/09/01(土)16:19 ID:xLd9eNnQ(2/3) AAS
俺は、自分で調べないわけじゃないぜ。ただ少なくとも日本語の情報は殆どない。
「apcu 断片化」では20件程度、「apcu Fragmentation」なら沢山ヒットするが、対象を日本語ページに絞ると10件程度しかない。
これらは全部読んだが「Fragmentationが高くなったら、キャッシュをクリアしろ」ということが書いてあっただけで、
何%だと問題なのか、そもそもどのような問題が発生するのか分からない。
英語が読めないわけじゃないけど、英語で検索して必要な情報を調べるのは苦労するよ。
784: 2018/09/01(土)16:28 ID:??? AAS
自分でベンチマーク取って検証するんだ。
そして報告すれば誰かの役に立つ。
ちなみに俺は何も知らない。すまん…w
785: 2018/09/01(土)16:30 ID:??? AAS
いっそのことソース読んだら
786: 2018/09/01(土)16:30 ID:??? AAS
ソース読んで効果がわかる部分じゃないだろ…
787: 2018/09/01(土)16:44 ID:??? AAS
ソース読めば全部わかるだろ
788
(1): 2018/09/01(土)16:52 ID:??? AAS
ソース読んで、何%断片化すると悪影響が出るかわかる?
キャッシュの実装方法がわかっても測定しないとわからないことだよ。
789: 2018/09/01(土)16:58 ID:??? AAS
APCuって
オペコードキャッシュ部分がなくなって、cookieみたいなkey-valueのデータを自前で自サーバのメモリに共有するだけに単純化されたもんでねえの
DISKにcsvで持ったりDB使ったりで共有するんじゃなくてメモリに持って共有しましょう的な

だとすると、キャッシュクリア=メモリ上の情報破棄だから気軽にやっちゃあかんし
fragmentになってるっていうなら、
それがメモリ上にあるというだけで他はDISKにおけるfragmentと同じでしょ?同じように考えりゃいいじゃん
790: 2018/09/01(土)17:03 ID:??? AAS
>>788
メモリにどういう配置してどう読み書きしてるかがわからないと
断片化を操作する検証も度合いごとに断片化が及ぼす影響の調査もできなくない?

ことが断片化だから、意図的に特定の断片化状態を作るのって
内部知らないと相当難しいように思うんだけど
791: 2018/09/01(土)17:04 ID:??? AAS
突き詰めるとメモリ領域の話になってくるんけ?
792: 2018/09/01(土)17:17 ID:??? AAS
ソースだけ見れば分かるならプロファイラ何か要らないんだよなー
793: 2018/09/01(土)18:19 ID:??? AAS
Fragmentationが100%に達してても
キャッシュヒット率が高ければ問題ないらしい
(書き込みは遅くなるが読み取りは遅くならない)

外部リンク:serverfault.com

とは言っても書き込みは遅くなるわけで
実際パフォーマンスにどれくらい影響が出るかは使用状況によるので一概に言えない

本番環境のパフォーマンスを見るには
New Relic APMがおすすめらしいけど
自分は使ったこと無い
794: 2018/09/01(土)18:45 ID:??? AAS
JavaのGCだとコンパクションとか
断片化を防ぐ仕組みはあったけど
多分apcuにはそんな仕組みはないと思われ
動的に確保するから更新・削除を何度も行うと細切れになる

断片化率は5MB以下のブロックが全体に占める割合みたいなことが書いてある

解放されたブロックが隣接してたらマージして1つのブロックにする、とも書いてあるが
これだけだと完全に断片化は防げないとか?

外部リンク:github.com

NewRelic使えとかはこの辺で見た
省1
795: 2018/09/01(土)18:52 ID:??? AAS
Symfonyも
書き込みや削除が多い用途にAPCUを使うと断片化しやすいから使うなって言ってる
多分それをやるとAPCUの管理するブロックの数がどんどん増えていって
新しいブロックの確保が遅くなるんだろう

代わりにRedisとかmemcachedとか使えば?
遅延があるとかで場合によっては使えないかもしれないが

Use of this adapter is discouraged in write/delete heavy workloads, as these operations cause memory fragmentation that results in significantly degraded performance.

外部リンク[html]:symfony.com
796: 780 2018/09/01(土)21:31 ID:xLd9eNnQ(3/3) AAS
ありがとう。少し分かってきた。
英語での情報収集が必要とかレベルが上ってきた感じがしていいね。
797: 2018/09/02(日)06:36 ID:??? AAS
クソッ、話が高度すぎる・・・
今日からPHPUnit使うなんて言い出せないじゃないか。
798
(1): 2018/09/02(日)09:08 ID:??? AAS
APCuってしらんが
セッションにDBのハンドラ入れても使えなかったのを
使えるようになるような代物かね?
799
(1): 2018/09/02(日)09:36 ID:??? AAS
>>798
言ってる意味がわからない
DBの接続はリクエスト終わったら切られるだろ
800: 2018/09/02(日)10:26 ID:??? AAS
>>799
いやわかるけど

で、sessionで使えなかったのを使えるようになるような代物ではない
serializeできないものは無理、sessionも共有メモリもそう
リソース型と一部のオブジェクトは無理
801: 2018/09/02(日)10:35 ID:??? AAS
DB接続やファイルハンドラが処理終了時に自動的に切られるのは、
そういう扱いをされるべきリソース型であって確実にデストラクタが呼ばれてるからという理由であって、
処理終了時にシンボルテーブルにある全変数が解放されるのとは無関係、
よって、変数の格納先が異なるだけの$_SESSIONや共有メモリでもこの事情は変わらない、

と理解している
json化できないものは入れられないwebStorageみたいな感覚
1-
あと 201 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.034s